00001 #ifndef EVENTDISPLAYCELLFRAME_H
00002 #define EVENTDISPLAYCELLFRAME_H
00003
00004 #include <iostream>
00005 #include <string>
00006
00007 #include "TFile.h"
00008 #include "TH1.h"
00009 #include "TH2.h"
00010 #include "TGClient.h"
00011 #include "TCanvas.h"
00012 #include "TGFrame.h"
00013 #include "TRootEmbeddedCanvas.h"
00014 #include "TApplication.h"
00015 #include "TROOT.h"
00016 #include "TSystem.h"
00017 #include "TStyle.h"
00018 #include "TMarker.h"
00019 #include "TEllipse.h"
00020 #include "RQ_OBJECT.h"
00021 #include "TGButton.h"
00022 #include "TGLabel.h"
00023 #include "TGTextEntry.h"
00024 #include "TGButtonGroup.h"
00025 #include "TGMenu.h"
00026
00027 #include "event_display/EventDisplayCell.h"
00028
00029 using namespace std;
00030
00031 class EventDisplayCellFrame : public TQObject {
00032
00033
00034
00035
00036 private:
00037
00038 TApplication *fApp;
00039
00040 bool m_doEventDisplay;
00041 UInt_t m_framesize_h;
00042 UInt_t m_framesize_w;
00043
00044 TH1D ** m_h1d;
00045 TH2D ** m_h2d;
00046 int m_nTH1D, m_nTH2D;
00047
00048 int m_isNeededRecreateHist;
00049 int m_doDisplayHist[6];
00050 int m_doDisplatOverlayHist;
00051 int m_isOverlayHist[6];
00052 int m_modeView;
00053 int m_modeTowerSize;
00054 int m_doUseCellEth;
00055 int m_doUseTowerEth;
00056 int m_is2DView;
00057 double m_cellEth;
00058 double m_towerEth;
00059 double m_dR;
00060 TH2D * m_overlay2d;
00061 int m_nPad;
00062 int m_modeColor;
00063 int m_doUseHistMinimum;
00064 double m_histMinimum;
00065
00066 EventDisplayCell *m_cellInfo;
00067
00068 void DrawHist(TCanvas *fC, vector<int> &indexList);
00069
00070
00071 TGMainFrame *fMain;
00072 TRootEmbeddedCanvas *fCanvas;
00073 TGLayoutHints *m_ly1,*m_ly2,*m_ly3,*m_ly4,*m_ly5,*m_ly6;
00074 TGMatrixLayout *m_mly1;
00075 TGHorizontalFrame *hf,*hf2,*hf3,*hf4;
00076 TGButtonGroup *gf1hf2,*gf2hf2,*gf3hf2;
00077 TGGroupFrame *gf1hf3,*gf2hf3;
00078 TGButtonGroup *gf1hf4,*gf2hf4,*gf3hf4;
00079 TGCheckButton *chkLArEM,*chkLArFCal,*chkLArHEC,*chkTile,*chkJet,*chkTauJet;
00080 TGCheckButton *chkOVLArEM,*chkOVLArFCal,*chkOVLArHEC,*chkOVTile,*chkOVJet,*chkOVTauJet;
00081 TGTextButton *clearOV;
00082 TGRadioButton *ra1gf1hf2,*ra2gf1hf2;
00083 TGRadioButton *ra1gf2hf2,*ra2gf2hf2;
00084 TGRadioButton *ra1gf3hf2,*ra2gf3hf2;
00085 TGRadioButton *ra1gf1hf4,*ra2gf1hf4,*ra3gf1hf4,*ra4gf1hf4;
00086 TGRadioButton *ra5gf1hf4,*ra6gf1hf4,*ra7gf1hf4,*ra8gf1hf4;
00087 TGRadioButton *ra1gf2hf4,*ra2gf2hf4,*ra3gf2hf4,*ra4gf2hf4;
00088 TGRadioButton *ra5gf2hf4;
00089 TGRadioButton *ra1gf3hf4, *ra2gf3hf4;
00090 TGLabel *lb1gf2hf4;
00091 TGHotString *hstr1;
00092 TGTextBuffer *tbuf1gf2hf2,*tbuf1gf3hf2,*tbuf1gf2hf4,*tbuf1gf3hf4;
00093 TGTextEntry *tent1gf2hf2,*tent1gf3hf2,*tent1gf2hf4,*tent1gf3hf4;
00094 TGTextButton *draw,*next,*stop,*exit;
00095 TGPopupMenu *fMenuFile,*fMenuHelp;
00096 TGMenuBar *fMenuBar;
00097 TGLayoutHints *fMenuBarLayout,*fMenuBarItemLayout,*fMenuBarHelpLayout;
00098 vector<TEllipse*> cirList;
00099 vector<TMarker*> markList;
00100
00101 public:
00102 EventDisplayCellFrame(TApplication *app);
00103 virtual ~EventDisplayCellFrame();
00104 void SetCellInfo(EventDisplayCell *x) { m_cellInfo = x; }
00105 void Run();
00106 void Draw();
00107 void Next();
00108 void Stop();
00109 void Exit();
00110 void SetViewMode();
00111 void SetTowerSize();
00112 void SetCellEth();
00113 void SetTowerEth();
00114 void SetEthByText();
00115 void SetDisplayHist();
00116 void SetOverlay();
00117 void ClearOverlay();
00118 void SetDeltaRByText();
00119 void RecreateHist();
00120 void HandleMenu(Int_t);
00121 void SetColor();
00122 void ExecuteEventOnCanvas(Int_t,Int_t,Int_t,TObject*);
00123 void SetHistMinimum();
00124 void SetHistMinimumByText();
00125 };
00126 #endif // EVENTDISPLAYCELLFRAME_H