]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCCalibViewerGUI.h
The AliDCSSensor classes were recently upgraded to include start and end time entries...
[u/mrichter/AliRoot.git] / TPC / AliTPCCalibViewerGUI.h
1 #ifndef ALITPCCALIBVIEWERGUI
2 #define ALITPCCALIBVIEWERGUI
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id: AliTPCCalibViewerGUI.h,v */
8
9 ///////////////////////////////////////////////////////////////////////////////
10 //                                                                           //
11 //  GUI for the AliTPCCalibViewer                                            //
12 //  used for the calibration monitor                                         //
13 //                                                                           //
14 ///////////////////////////////////////////////////////////////////////////////
15
16 #ifndef ROOT_TGButton
17 #include "TGWidget.h"
18 #endif
19 #ifndef ROOT_TGFrame
20 #include "TGFrame.h"
21 #endif
22
23 #include <TGButton.h>
24 #include <TGListBox.h>
25 #include <TGComboBox.h>
26 #include <TGNumberEntry.h>
27 #include <TRootEmbeddedCanvas.h>
28 #include <TGSplitter.h>
29 #include <TGButtonGroup.h>
30
31 #include <iostream>
32 #include "AliTPCCalibViewer.h"
33
34
35 class AliTPCCalibViewerGUI : public TGMainFrame {
36 protected:
37    AliTPCCalibViewer   *fViewer;             // CalibViewer object used for drawing
38
39    TGCompositeFrame    *fContAll;            // container for all GUI elements
40    TGCompositeFrame    *fContLeft;           // container for GUI elements on left side
41    TGCompositeFrame    *fContRight;          // container for GUI elements on right side
42    TGCompositeFrame    *fContCenter;         // container for GUI elements at the center
43    TGCompositeFrame    *fContPlotOpt;        // container for plot options GUI elements
44    TGCompositeFrame    *fContDrawOpt;        // container for draw options GUI elements
45    TGCompositeFrame    *fContNormalized;     // container for normalization options GUI elements
46    TGCompositeFrame    *fContCustom;         // container for custom draw command GUI elements
47    TGCompositeFrame    *fContCuts;           // container for cut options GUI elements
48    TGCompositeFrame    *fContSector;         // container for sector GUI elements
49    TGCompositeFrame    *fContAddCuts;        // container for additional cut command GUI elements
50    TGListBox           *fListVariables;      // listbox with possible variables
51    TGTextButton        *fBtnDraw;            // draw button
52    TRootEmbeddedCanvas *fCanvMain;           // main drawing canvas
53    TGRadioButton       *fRadioRaw;           // raw radio button
54    TGRadioButton       *fRadioNormalized;    // normalized radio button
55    TGRadioButton       *fRadioCustom;        // custom radio button
56    TGRadioButton       *fRadio1D;            // 1D radio button
57    TGRadioButton       *fRadio2D;            // 2D radio button
58    TGRadioButton       *fRadioTPC;           // TPC radio button
59    TGRadioButton       *fRadioSideA;         // side A radio button
60    TGRadioButton       *fRadioSideC;         // side C radio button
61    TGRadioButton       *fRadioSector;        // sector radio button
62    TGCheckButton       *fChkAuto;            // automatic redraw checkbox
63    TGComboBox          *fComboMethod;        // normalization methods dropdown box
64    TGListBox           *fListNormalization;  // listbox with possible normalization variables
65    TGTextEntry         *fTxtCustom;          // text box for custom draw command
66    TGNumberEntry       *fNmbSector;          // number entry box for specifying the sector
67    TGCheckButton       *fChkAddCuts;         // additional cuts check box
68    TGTextEntry         *fTxtAddCuts;         // additional cuts text box
69
70    void Initialize(char* fileName);          // initializes the GUI with default settings and opens tree for drawing
71    
72 public:
73    AliTPCCalibViewerGUI(const TGWindow *p, UInt_t w, UInt_t h, char* fileName);  // constructor; fileName specifies the ROOT tree used for drawing
74    AliTPCCalibViewerGUI(const AliTPCCalibViewerGUI &c);                          // copy constructor
75    AliTPCCalibViewerGUI &operator = (const AliTPCCalibViewerGUI &param);         // assignment operator
76
77    virtual ~AliTPCCalibViewerGUI();
78    virtual void CloseWindow();
79
80    void HandleButtons(Int_t id = -1);        // handles mutual radio button exclusions
81    void DoNewSelection();                    // decides whether to redraw if user makes another selection
82    void DoDraw();                            // main method for drawing according to user selection
83    ClassDef(AliTPCCalibViewerGUI, 0)
84 };
85
86 #endif