1 #ifndef ALIMUONTRIGGERGUI_H
2 #define ALIMUONTRIGGERGUI_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 /// \ingroup evaluation
10 /// \class AliMUONTriggerGUI
11 /// \brief Graphical User Interface utility class for the MUON trigger detector
12 // Author Bogdan Vulpescu, LPC Clermont-Ferrand
16 #include <TObjArray.h>
20 class TGTransientFrame;
24 class TRootEmbeddedCanvas;
32 class AliMUONCalibrationData;
33 class AliMUONTriggerGUIboard;
34 class AliMUONTriggerGUIdimap;
35 class AliMUONTriggerElectronics;
37 class AliMUONTriggerGUI : public TObject
43 virtual ~AliMUONTriggerGUI() {
44 /// main gui destructor
47 void OpenBoard(Int_t id);
48 void HandleMenu(Int_t id);
54 void DoControlClose();
55 void DoCircuitCancel();
59 void DoPreviousEvent();
61 void DoErrorGUI(const Char_t *wt);
66 void CloseRunInput() const;
67 void CloseError() const;
68 void CloseControl() const;
69 void CloseCircuit() const;
73 AliMUONTriggerGUI (const AliMUONTriggerGUI& board); ///< copy constructor
74 AliMUONTriggerGUI& operator=(const AliMUONTriggerGUI& board);///< assignment operator
78 /// nr of boards, nr of chambers
79 enum { kNBoards = 234, kNMT = 4 };
81 /// working status flags
82 enum EMenuIdentifiers {
98 kGood = 0x0001, kWithProblems = 0x0002, kNotWorking = 0x0004, kUnknown = 0x0008
99 }; ///< working status flags
101 TGMainFrame *fMain; ///< The main frame
102 TGImageMap *fImageMap; ///< The image map of the main frame
103 TGTextBuffer *fTxtBuffer1; ///< Path to the data (galice.root)
104 TGTextBuffer *fTxtBuffer2; ///< Current event number
105 TGTextBuffer *fTxtCircuit; ///< Circuit to open
107 TGTransientFrame *fRunInput; ///< Run input window
108 TGTransientFrame *fError; ///< Error window
109 TGTransientFrame *fControl; ///< Run control window
110 TGTransientFrame *fCircuit; ///< Circuit window
112 TGTextEntry *fSkipToEventTxt;///< Control field shows current event number
114 TString *fFileName; ///< Full galice file name
115 TString *fPath; ///< Path string to galice
116 TString *fEvString; ///< Event number string
118 Int_t fChamber; ///< Current MT chamber
119 Int_t fEvent; ///< Current event number
120 Int_t fEventsPerRun; ///< Number of events per file (run)
122 AliLoader *fLoader; ///< The MUON loader
123 AliRunLoader *fRunLoader; ///< The run loader
125 AliCDBManager *fCDBManager; ///< Calibration DB manager
126 AliMUONCalibrationData *fCalibrationData; ///< Calibration data for MUON
128 Bool_t fBoardsInit; ///< Control the InitBoards only once
130 AliMUONTriggerGUIdimap *fDiMap; ///< Digits map
132 AliMUONTriggerElectronics *fTriggerProcessor; ///< The GUI trigger processor
134 TObjArray *fBoards; ///< The array of trigger boards
135 /// Access the array of trigger boards
136 TObjArray *Boards() {
137 if(!fBoards) fBoards = new TObjArray(kNBoards); return fBoards;
139 AliMUONTriggerGUIboard *GetBoard(Int_t id) const;
142 virtual void InitBoards();
144 void SetStripBoxes(AliMUONTriggerGUIboard *board);
146 ClassDef(AliMUONTriggerGUI,2) // Main GUI class for the MUON trigger