/*!\class TPeakFitGUI \author Alexandre A. P. Suaide */ #ifndef TPeakFitGUI_HH #define TPeakFitGUI_HH #include "TPeakFit.h" #include "TGClient.h" #include "TApplication.h" #include "TGLabel.h" #include "TGMsgBox.h" #include "TString.h" #include "TGTextBuffer.h" #include "TGTextEntry.h" #include "TGButton.h" #include "TContainer.h" #include "TCanvas.h" #include "TLine.h" #include "TMarker.h" #include "TROOT.h" #include "TList.h" #include "TDialog.h" #include "TF1.h" #include "TH1.h" #include "TG3DLine.h" #include "TGTextEntry.h" #include "math.h" #include <iostream> using namespace std; #define MAXPOINTS 1000 class TPeakFitGUI : public TGTransientFrame { private: TGGroupFrame* mFrame1; TGGroupFrame* mFrame2; TGRadioButton* mP1; TGRadioButton* mP2; TGRadioButton* mP3; TGRadioButton* mB1; TGRadioButton* mB2; TGRadioButton* mB3; TGRadioButton* mB4; TGCheckButton* mPC1; TGCheckButton* mPC2; TGCheckButton* mBC1; TGTextButton* mPGrab; TGTextButton* mPReset; TGTextButton* mBGrab; TGTextButton* mBReset; TGTextButton* mDet; TGTextButton* mFit; TGTextButton* mImp; TGTextButton* mReset; TGTextButton* mClose; TGTextButton* mDraw; TGTextButton* mClear; TGTextButton* mPrint; TGTextEntry* mBP; TContainer* mTrash1; TContainer* mTrash2; int mGrabType; int mGrabMode; int mNP; float mPX[MAXPOINTS]; float mPY[MAXPOINTS]; float mSI[MAXPOINTS]; int mNB; float mBX[MAXPOINTS]; float mBY[MAXPOINTS]; float mBpX[MAXPOINTS]; float mBpY[MAXPOINTS]; float mXL; float mYL; float mpXL; float mpYL; int mFlag; TVirtualPad* mGrabPad; TString mCommand; TPeakFit* mPeakFit; bool mFitDone; void reset(int = 0); void grabMode(int); void fit(int = 0); void details(); public: TPeakFitGUI(TH1*, TVirtualPad*); virtual ~TPeakFitGUI(); void CloseWindow(); bool ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); void grab(); void clear(); void draw(); void print(); TPeakFit* getPeakFit() { return mPeakFit;} ClassDef(TPeakFitGUI,1) }; #endif