36f55715 |
1 | #ifndef ALITRDQAGUIBLACKCHAMBER_H |
2 | #define ALITRDQAGUIBLACKCHAMBER_H |
3 | |
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
5 | * See cxx source for full Copyright notice */ |
6 | |
7 | /* $Id: AliTRDqaGuiBlackChamber.h 23387 2008-01-17 17:25:16Z cblume $ */ |
8 | |
9 | //////////////////////////////////////////////////////////////////////////// |
10 | // |
11 | // This class is a Graphical User Interface for the Quality Monitorig |
12 | // of black (non zero zuppresed) events from TRD. |
13 | // It lets display and browse throu histograms created by the class |
14 | // AliTRDqaBlackEvents. |
15 | // The class works in cooperation with AliTRDqaGuiMainBlack. |
16 | // |
17 | // S. Radomski |
18 | // Uni-Heidelberg |
19 | // Feb. 2008 |
20 | // |
21 | //////////////////////////////////////////////////////////////////////////// |
22 | |
23 | #include "TGFrame.h" |
24 | |
25 | class TH1; |
26 | class TString; |
27 | class TGLabel; |
28 | class TGComboBox; |
29 | class TGTextButton; |
30 | class TRootEmbeddedCanvas; |
31 | |
32 | class AliTRDqaGuiBlackChamber : public TGCompositeFrame { |
33 | |
34 | public: |
35 | |
36 | AliTRDqaGuiBlackChamber(); |
37 | AliTRDqaGuiBlackChamber(TGWindow *parent); |
38 | AliTRDqaGuiBlackChamber& operator = (const AliTRDqaGuiBlackChamber& /*g*/) { return *this; }; |
39 | ~AliTRDqaGuiBlackChamber() {}; |
40 | |
41 | void SetQAFile(const char *filename); |
42 | void SetSM(Int_t idxSM); |
43 | void SetChamber(Int_t idxChamber); |
44 | |
45 | void SetRangePed(Double_t min, Double_t max) { |
46 | fSetRangePed = 1; |
47 | fRangePed[0] = min; |
48 | fRangePed[1] = max; |
49 | } |
50 | |
51 | void SetRangeNoise(Double_t min, Double_t max) { |
52 | fSetRangeNoise = 1; |
53 | fRangeNoise[0] = min; |
54 | fRangeNoise[1] = max; |
55 | } |
56 | |
57 | |
58 | // void Play(); // *SLOT* |
59 | void PreviusChamber() {if (fIdxChamber > 0) SetChamber(fIdxChamber-1);} // *SLOT* |
60 | void NextChamber() {if (fIdxChamber < fgknChamber-1) SetChamber(fIdxChamber+1);} // *SLOT* |
61 | |
62 | void PreviusSM() {if (fIdxSM > 0) SetSM(fIdxSM-1);} // *SLOT* |
63 | void NextSM() {if (fIdxSM < fgknSM-1) SetSM(fIdxSM+1);} // *SLOT* |
64 | |
65 | void SelectChamber(Int_t idx) {SetChamber(idx);} // *SLOT* |
66 | void SelectSM(Int_t idx) {SetSM(idx);} // *SLOT* |
67 | // void SelectView(Int_t idx) {SetView(idx);} // *SLOT* |
68 | |
69 | |
70 | protected: |
71 | |
72 | static const Int_t fgknSM; // number of supermodules |
73 | static const Int_t fgknChamber; // number of chamberd (30) |
74 | |
75 | Int_t fSetRangePed; // flag for range in pedestals |
76 | Double_t fRangePed[2]; // range for pedelstals |
77 | |
78 | Int_t fSetRangeNoise; // flag for range in noise |
79 | Double_t fRangeNoise[2]; // range in noise |
80 | |
81 | Int_t fIdxSM; // active super module |
82 | Int_t fIdxChamber; // active chamber |
83 | //Int_t fView; |
84 | |
85 | char fFileName[256]; // file with histograms |
86 | |
87 | TRootEmbeddedCanvas *fCanvasList[5]; // canvases |
88 | TH1 *fHistList[5]; // and histos |
89 | |
90 | // |
91 | TGCompositeFrame *fGPanel; // panel with buttons |
92 | TGCompositeFrame *fGCanvas; // canvas |
93 | TGCompositeFrame *fGCanvasUp; // canvas |
94 | TGCompositeFrame *fGCanvasDown; // canvas |
95 | |
96 | // steering panel |
97 | // TGLabel *fGLabel; |
98 | TGComboBox *fGSelectSM; // selector for Super Module |
99 | TGComboBox *fGSelectChamber; // selectro for Chamber |
100 | //TGComboBox *fGSelectView; |
101 | |
102 | TGTextButton *fGPrevSM; // button |
103 | TGTextButton *fGPrevChamber; // button |
104 | TGTextButton *fGNextSM; // button |
105 | TGTextButton *fGNextChamber; // button |
106 | //TGTextButton *fGPlay; |
107 | |
108 | //void CreateHistAmplitude(); |
109 | // void CreateHistTimeCharge(); |
110 | //void CreateHistTimeMPV(); |
111 | |
112 | ClassDef(AliTRDqaGuiBlackChamber,1) // |
113 | |
114 | }; |
115 | |
116 | #endif |