HARPO  5.1.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HarpoMonitorGui.h
Go to the documentation of this file.
1 #ifndef HARPOMONITORGUI_H
2 #define HARPOMONITORGUI_H
3 
4 
5 
6 #include <TGClient.h>
7 
8 
9 #include <TPad.h>
10 #include <TH1.h>
11 #include <TH2.h>
12 #include <TLine.h>
13 #include <TCanvas.h>
14 #include <TRootEmbeddedCanvas.h>
15 #include <TGFrame.h>
16 #include <TGComboBox.h>
17 #include <TGButton.h>
18 #include <TGLabel.h>
19 #include <TGButtonGroup.h>
20 //#include <TGButton.h>
21 #include <TGNumberEntry.h>
22 #include <TGListBox.h>
23 #include <TObjArray.h>
24 #include <TLegend.h>
25 #include <TClonesArray.h>
26 #include <TSystemDirectory.h>
27 #include <TSystem.h>
28 #include <TStyle.h>
29 #include <TChain.h>
30 #include <TProfile.h>
31 #include <TGraph.h>
32 
33 #include <math.h>
34 
35 #include "HarpoReader.h"
36 #include "HarpoAnalyse.h"
37 #include "HarpoAnalyseMonitorNew.h"
38 #include "HarpoAnalyseWriter.h"
39 
40 #include "TThread.h"
41 #include "TMapFile.h"
42 
43 
44 class HarpoMonitorGui : public TGMainFrame {
45 
46  private:
47 
48  TMapFile* mfile;
49  TMapFile* mfilePmm2;
50 
52  Bool_t fAutoScale;
53 
54  TRootEmbeddedCanvas* ecTabEvent;
55  TRootEmbeddedCanvas* ecTabCumul;
56  TRootEmbeddedCanvas* ecTabTrigger;
57  TRootEmbeddedCanvas* ecTabPmm2;
58  TRootEmbeddedCanvas* ecTabTT;
59  TCanvas* cTabEvent;
60  TCanvas* cTabCumul;
61  TCanvas* cTabTrigger;
62  TCanvas* cTabPmm2;
63  TCanvas* cTabTT;
64  TRootEmbeddedCanvas* ecSideSummary;
65  TCanvas* cSideSummary;
66  /* TCanvas* c1; */
67  /* TCanvas* c2; */
68  /* TCanvas* c3; */
69  TGMainFrame* fFrameMain;
70 
71  TGTextButton* fAutoRefreshButton;
72  TGComboBox* fChooseRun;
73  TGNumberEntry* fChooseDelay;
74  TGNumberEntry* fChooseEvent;
75  TGNumberEntry* fChooseNEvents;
76  TGTextButton* fDisplayEvent;
77  TGTextButton* fNextEvent;
78  TGTextButton* fPrevEvent;
79  TGTextButton* fSaveButton;
80  // TGCheckButton* fCheckNoise;
81  TGCheckButton* fCheckClusters;
82  TGNumberEntry* fChooseTmin;
83  TGNumberEntry* fChooseTmax;
84  TGRadioButton* fCoord[2];
85  TGRadioButton* fType[3];
86  TGListBox* fLog;
87 
88  TGTextButton* fTriggerText;
90  TGCheckButton* fCheckShowTrigger;
91 
94  TGNumberEntry* fChooseNmax;
95 
96  //const char* rundir= "sim7714/";
97  Char_t rundir[128];//= "outputs/";
98  //const char* rundir= "outputssim/";
99 
100 
101  static const Int_t nChannels = 4096;
102  Char_t fileName[128];
103  Int_t nPadPlanes;
104 
105  Int_t xmin, xmax, ymin, ymax;
106  Int_t fTmin, fTmax;
108 
109  TObjArray* padHelpArray[100];
110  //TH1F* signalHelp;
111  TH2F* hist2d;
112  TH2F* histFEC;
113  TH1F* noiseHist;
114  Int_t conv;
115  Int_t noisemax;
116 
117  Int_t fRunNumber;
119 
120  TGTextButton* fDisplay;
121  TGTextButton* fDisplayBox;
122  TGTextButton* fSave;
123 
124  TThread* fThread1;
125 
126  public:
127  HarpoMonitorGui(const TGWindow *p, UInt_t w, UInt_t h, UInt_t opt);
129 
130  virtual void CloseWindow();
131 
132  void BuildButtonsFrame(TGVerticalFrame* f);
133  void BuildDisplayFrame(TGVerticalFrame* f);
134  void BuildInfoFrame(TGHorizontalFrame* f);
135 
136  void SetListOfRuns(TGComboBox* box, const char* dirname);
137  // void Hist2dClicked(TVirtualPad* pad, TObject* h, Int_t i);
138  Bool_t GetNextEvent();
139  void NextEvent();
140  void PrevEvent();
141  void DisplayEvent(HarpoEvent* event);
142  void DisplayEvent();
143  // void Display();
144  void Save();
145  // void Box();
146  // const char* ReadLog(Int_t runnumber);
147  // void SetTrigger();
148  // void DrawTrigger();
149 
150  void SetStyle();
151 
152  // TH1* GetHist(HarpoHistoIdentifier, Int_t ndet = 0);
153 
154  void StartThread();
155  // void *handle1(void *);
156 
157  Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
158 
159  Int_t GetDelay(){return 1000*fChooseDelay->GetNumber();}
160 
161  void MakeNice1dHisto(TH1* hist, TVirtualPad* c1, const char* opt = "");
162  void MakeNice2dHisto(TH2* hist, TVirtualPad* c1, Bool_t colz = kTRUE);
163 
164 
165  Bool_t fAutoRefresh;
166 
167  ClassDef(HarpoMonitorGui, 1); // ILC TPC Event display
168 };
169 
170 
171 
172 #endif
TGNumberEntry * fChooseBox2Y1
TRootEmbeddedCanvas * ecTabCumul
ClassDef(HarpoMonitorGui, 1)
TGLabel * fEventPmm2Label
TMapFile * mfile
TGNumberEntry * fChooseBox2N2
TGTextButton * fNextEvent
TGListBox * fLog
TGNumberEntry * fChooseEvent
TGNumberEntry * fChooseBox2N1
TMapFile * mfilePmm2
TGNumberEntry * fChooseTmax
TGNumberEntry * fChooseNmax
TObjArray * padHelpArray[100]
TGTextButton * fSave
Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
TCanvas * cTabCumul
TRootEmbeddedCanvas * ecSideSummary
TGRadioButton * fType[3]
TGTextButton * fDisplayEvent
TGCheckButton * fCheckClusters
void BuildButtonsFrame(TGVerticalFrame *f)
TGCheckButton * fCheckShowTrigger
TGTextButton * fDisplayBox
TGNumberEntry * fChooseBox1X2
TGNumberEntry * fChooseBox1Y2
TGNumberEntry * fChooseBox1X1
TGNumberEntry * fChooseBox2X2
static const Int_t nChannels
void BuildDisplayFrame(TGVerticalFrame *f)
TGNumberEntry * fChooseBox2Y2
void SetListOfRuns(TGComboBox *box, const char *dirname)
void MakeNice2dHisto(TH2 *hist, TVirtualPad *c1, Bool_t colz=kTRUE)
void BuildInfoFrame(TGHorizontalFrame *f)
TGTextButton * fPrevEvent
TGNumberEntry * fChooseDelay
TGComboBox * fChooseRun
void MakeNice1dHisto(TH1 *hist, TVirtualPad *c1, const char *opt="")
TGTextButton * fAutoRefreshButton
TRootEmbeddedCanvas * ecTabPmm2
TGTextButton * fTriggerText
TCanvas * cTabEvent
Char_t fileName[128]
TGRadioButton * fCoord[2]
TGTextButton * fDisplay
Char_t rundir[128]
TCanvas * cTabTrigger
TRootEmbeddedCanvas * ecTabTT
TGNumberEntry * fChooseNEvents
TGNumberEntry * fChooseBox1N1
TRootEmbeddedCanvas * ecTabEvent
virtual void CloseWindow()
TCanvas * cSideSummary
HarpoMonitorGui(const TGWindow *p, UInt_t w, UInt_t h, UInt_t opt)
TGTextButton * fSaveButton
A class store HARPO row event data and header. Provide access metods to the row event data...
Definition: HarpoEvent.h:29
TGNumberEntry * fChooseBox1N2
TGNumberEntry * fChooseBox2X1
TGNumberEntry * fChooseTmin
TCanvas * cTabPmm2
TGLabel * fTriggerLabel
TGMainFrame * fFrameMain
TRootEmbeddedCanvas * ecTabTrigger
TGLabel * fEventLabel
TGNumberEntry * fChooseBox1Y1