00001 #ifndef PF_DialogFrame_h 00002 #define PF_DialogFrame_h 00003 00004 #include <TGClient.h> 00005 #include <TGButton.h> 00006 #include <TGButtonGroup.h> 00007 #include <TGDoubleSlider.h> 00008 #include <TGNumberEntry.h> 00009 #include <TGFrame.h> 00010 #include <TGLabel.h> 00011 #include <TButton.h> 00012 #include <TCanvas.h> 00013 #include <TMarker.h> 00014 #include <TGraph.h> 00015 #include <RQ_OBJECT.h> 00016 00017 #include "RecoParticleFlow/PFRootEvent/interface/PFRootEventManager.h" 00018 #include "RecoParticleFlow/PFRootEvent/interface/DisplayManager.h" 00019 00020 #include <string> 00021 00022 00023 class DialogFrame : public TGMainFrame { 00024 RQ_OBJECT("DialogFrame") 00025 00026 private: 00027 00028 static const int EN=1; // id threshold energy field 00029 static const int ENER=10; // id threshold energy slider 00030 static const int MAXL=20; 00031 static const int PARTTYPE=30; 00032 static const int PFBLOCK=40; 00033 00034 00035 PFRootEventManager *evMan_; 00036 00037 DisplayManager *display_; 00038 TGCompositeFrame *mainFrame_; 00039 TGCompositeFrame *cmdFrame_; 00040 00041 00042 TGCheckButton *selectObject_[6]; 00043 TGCheckButton *printButton_[7]; 00044 TGDoubleHSlider *thresholdS_[5]; 00045 TGNumberEntryField *threshEntry_[5]; 00046 TGNumberEntryField *maxLineEntry_; 00047 TGNumberEntryField *particleTypeEntry_; 00048 TGTextButton *exitButton,*nextButton,*previousButton; 00049 TGTextButton *reProcessButton; 00050 //int eventNr_; 00051 //int maxEvents_; 00052 //TButton *Modify_; 00053 //TButton *Cancel_; 00054 TCanvas *attrView_; 00055 TMarker *thisClusPattern_; 00056 TGraph *trackPattern_; 00057 TGraph *simplePartPattern_; 00058 00059 00060 public: 00061 DialogFrame(PFRootEventManager *evman, DisplayManager *dm,const TGWindow *p,UInt_t w,UInt_t h); 00062 virtual ~DialogFrame(); 00063 00064 void closeCanvasAttr(); 00065 void createCmdFrame(); 00066 void createCanvasAttr(); 00067 void doLookForGenParticle(); 00068 void doNextEvent(); 00069 void doPreviousEvent(); 00070 void doModifyOptions(unsigned obj); 00071 void doModifyPtThreshold(unsigned obj,double val); 00072 void isPFBlockVisible(); 00073 void doPrint(); 00074 void doPrintGenParticles(); 00075 void doReProcessEvent(); 00076 void selectPrintOption(int opt); 00077 //void modifyGraphicAttributes(); 00078 void modifyAttr(); 00079 void updateDisplay(); 00080 void unZoom(); 00081 00082 virtual bool ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); 00083 virtual void CloseWindow(); 00084 00085 }; 00086 #endif