1 #ifndef ALITRDCALIBVIEWERGUI_H
2 #define ALITRDCALIBVIEWERGUI_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 /* $Id: AliTRDCalibViewerGUI.h 34418 2009-08-26 15:47:50Z cblume $ */
8 ///////////////////////////////////////////////////////////////////////////////
10 // Class which implements AliBaseCalibViewerGUI for the TRD //
11 // used for the calibration monitor //
13 ///////////////////////////////////////////////////////////////////////////////
22 #include <TGListBox.h>
23 #include <TGComboBox.h>
24 #include <TGNumberEntry.h>
25 #include <TRootEmbeddedCanvas.h>
26 #include <TGSplitter.h>
27 #include <TGButtonGroup.h>
31 #include "AliBaseCalibViewer.h"
32 #include "AliTRDCalibViewer.h"
33 #include "AliBaseCalibViewerGUI.h"
36 class AliTRDCalibViewerGUI : public AliBaseCalibViewerGUI {
39 AliTRDCalibViewerGUI(const TGWindow *p, UInt_t w, UInt_t h, char* fileName); // constructor; fileName specifies the ROOT tree used for drawing
40 AliTRDCalibViewerGUI(const AliTRDCalibViewerGUI &c); // copy constructor
41 AliTRDCalibViewerGUI &operator = (const AliTRDCalibViewerGUI ¶m); // assignment operator
43 virtual ~AliTRDCalibViewerGUI();
44 static void ShowGUI(); // show the GUI
45 static void ShowGUI(const Char_t* treeFile, const Char_t* treeName="TRDcalibDetails"); // show the GUI
46 static void ShowGUIwithTrending(); // show a GUI with 2 tabs: 1 tab for time/run dependent observables
47 // 1 tab for run details
49 virtual void DrawGUI(const TGWindow *p, UInt_t w, UInt_t h); // to be called by the costructor, here the windows is drawn
50 virtual void Initialize(const char* fileName, const char* treeName = "TRDcalibDetails"); // initializes the GUI with default settings and opens tree for drawing
51 virtual void Initialize(AliBaseCalibViewer *viewer); // initializes the GUI with default settings and opens tree for drawing
52 virtual void Reload(){Initialize(fViewer);} // reload the viewr after it has been changed, e.g. added a new referenceTree, ...
54 virtual Bool_t CreateDetailsTree(Int_t run, const Char_t* outFile, const Char_t* ocdbStorage="nothing"); // create a tree with pad level info for a given run
56 virtual TString* GetDrawString(); // create the draw string out of selection
57 virtual TString* GetCutString(); // create the cut string out of selection
58 virtual TString* GetSectorString(); // create the sector string out of selection
59 // virtual AliBaseCalibViewer* GetViewer() {return fViewer;} // returns the internal AliTPCCalibViewer object, which does the work
60 virtual void DoDraw(); // main method for drawing according to user selection
61 virtual void MouseMove(Int_t event, Int_t x, Int_t y, TObject *selected);
63 void HandleFilesystem();
66 // TRD specific widgets; these are added to the ones painted by the base class
67 TGCompositeFrame *fContLayer; // container for layer GUI elements -
68 TGCompositeFrame *fContSector; // container for sector GUI elements -
69 TGCompositeFrame *fContStack; // container for stack GUI elements -
70 TGLabel *fLblLayer; // Layer label -
71 TGLabel *fLblSector; // Sector label -
72 TGLabel *fLblStack; // Stack label -
73 TGNumberEntry *fNmbLayer; // Layer number entry -
74 TGNumberEntry *fNmbSector; // Sector number entry -
75 TGNumberEntry *fNmbStack; // Stack number entry -
76 TGCompositeFrame *fContLoad; // 'Load Run' frame container -
77 TGCompositeFrame *fContRun; // run frame -
78 TGLabel *fLblRun; // run label -
79 TGNumberEntry *fNmbRun; // run entry -
80 TGCompositeFrame *fContStorage; // OCDB storage frame -
81 TGLabel *fLblStorage; // OCDB label -
82 TGTextEntry *fTxtStorage; // OCDB text entry -
83 TGCompositeFrame *fContVersion; // version frame -
84 TGLabel *fLblVersion; // version label -
85 TGNumberEntry *fNmbVersion; // version number entry -
86 TGCompositeFrame *fContSubVersion; // sub-version frame -
87 TGLabel *fLblSubVersion; // sub-version label -
88 TGNumberEntry *fNmbSubVersion; // sub-version number entry -
89 TGCompositeFrame *fContChecks; // check buttons container -
90 TGCheckButton *fChkCalibs; // check calibration -
91 TGCheckButton *fChkDCS; // check DCS -
92 TGCheckButton *fChkAlign; // check alignment -
93 TGTextButton *fBtnLoad; // load button -
94 // frame for loading an array of AliTRDCalPad objects
95 TGCompositeFrame *fContLoadCalibObjects; // container for loading calib objects
96 TGCompositeFrame *fContCalibInput; // container for the input file
97 TGLabel *fLblCalibInputFilename; // label for the input file
98 TGTextEntry *fTxtCalibInputFilename; // text entry for the input file
99 TGCompositeFrame *fContCalibOutput; // container for output file
100 TGLabel *fLblCalibOutputFilename; // label for output file
101 TGTextEntry *fTxtCalibOutputFilename; // text entry for output file
102 TGTextButton *fBtnLoadCalibObjects; // load button
104 ClassDef(AliTRDCalibViewerGUI, 1)