Updated QA version (Sylwester)
[u/mrichter/AliRoot.git] / TRD / qaGui / AliTRDqaGuiBlackChamber.h
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   void SetView(Int_t idxView);
45
46   void SetRangePed(Double_t min, Double_t max) {
47     fSetRangePed = 1;
48     fRangePed[0] = min;
49     fRangePed[1] = max;
50   }
51
52   void SetRangeNoise(Double_t min, Double_t max) {
53     fSetRangeNoise = 1;
54     fRangeNoise[0] = min;
55     fRangeNoise[1] = max;
56   }
57
58
59   // void Play();  // *SLOT*
60   void PreviusChamber() {if (fIdxChamber > 0) SetChamber(fIdxChamber-1);}   // *SLOT*
61   void NextChamber()    {if (fIdxChamber < fgknChamber-1) SetChamber(fIdxChamber+1);}   // *SLOT*
62
63   void PreviusSM() {if (fIdxSM > 0) SetSM(fIdxSM-1);}      // *SLOT*
64   void NextSM()    {if (fIdxSM < fgknSM-1) SetSM(fIdxSM+1);}   // *SLOT*
65   
66   void SelectChamber(Int_t idx) {SetChamber(idx);} // *SLOT*
67   void SelectSM(Int_t idx) {SetSM(idx);}       // *SLOT*
68   void SelectView(Int_t idx) {SetView(idx);}   // *SLOT*
69
70
71  protected:
72   
73   Int_t fView;
74   
75   static const Int_t fgknSM;       // number of supermodules
76   static const Int_t fgknChamber;  // number of chamberd (30)
77
78   Int_t    fSetRangePed;           // flag for range in pedestals
79   Double_t fRangePed[2];           // range for pedelstals 
80   
81   Int_t    fSetRangeNoise;         // flag for range in noise
82   Double_t fRangeNoise[2];         // range in noise
83   
84   Int_t fIdxSM;                    // active super module
85   Int_t fIdxChamber;               // active chamber 
86   //Int_t fView;
87
88   char fFileName[256];             // file with histograms
89   
90   TRootEmbeddedCanvas *fCanvasList[5];  // canvases
91   TH1 *fHistList[5];                    // and histos
92   
93   // 
94   TGCompositeFrame *fGPanel;            // panel with buttons
95   TGCompositeFrame *fGCanvas;           // canvas
96   TGCompositeFrame *fGCanvasUp;         // canvas
97   TGCompositeFrame *fGCanvasDown;       // canvas
98   
99   // steering panel
100   // TGLabel      *fGLabel;
101   TGComboBox   *fGSelectSM;             // selector for Super Module
102   TGComboBox   *fGSelectChamber;        // selector for Chamber 
103   TGComboBox   *fGSelectView;           // select view
104
105   TGTextButton *fGPrevSM;        // button
106   TGTextButton *fGPrevChamber;   // button
107   TGTextButton *fGNextSM;        // button
108   TGTextButton *fGNextChamber;   // button
109   //TGTextButton *fGPlay;
110  
111   //void CreateHistAmplitude();
112   // void CreateHistTimeCharge();
113   //void CreateHistTimeMPV();
114
115   ClassDef(AliTRDqaGuiBlackChamber,1) // 
116
117 };
118
119 #endif