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;
36 class AliMUONTriggerCrateStore;
37 class AliMUONMCDataInterface;
39 class AliMUONTriggerGUI : public TObject
44 AliMUONTriggerGUI(Int_t runNumber = 0);
45 virtual ~AliMUONTriggerGUI() {
46 /// main gui destructor
49 void OpenBoard(Int_t id);
50 void HandleMenu(Int_t id);
56 void DoControlClose();
57 void DoCircuitCancel();
61 void DoPreviousEvent();
63 void DoErrorGUI(const Char_t *wt);
68 void CloseRunInput() const;
69 void CloseError() const;
70 void CloseControl() const;
71 void CloseCircuit() const;
75 AliMUONTriggerGUI (const AliMUONTriggerGUI& board); ///< copy constructor
76 AliMUONTriggerGUI& operator=(const AliMUONTriggerGUI& board);///< assignment operator
80 /// nr of boards, nr of chambers
81 enum { kNBoards = 234, kNMT = 4 };
83 /// working status flags
84 enum EMenuIdentifiers {
100 kGood = 0x0001, kWithProblems = 0x0002, kNotWorking = 0x0004, kUnknown = 0x0008
101 }; ///< working status flags
103 TGMainFrame *fMain; ///< The main frame
104 TGImageMap *fImageMap; ///< The image map of the main frame
105 TGTextBuffer *fTxtBuffer1; ///< Path to the data (galice.root)
106 TGTextBuffer *fTxtBuffer2; ///< Current event number
107 TGTextBuffer *fTxtCircuit; ///< Circuit to open
109 TGTransientFrame *fRunInput; ///< Run input window
110 TGTransientFrame *fError; ///< Error window
111 TGTransientFrame *fControl; ///< Run control window
112 TGTransientFrame *fCircuit; ///< Circuit window
114 TGTextEntry *fSkipToEventTxt;///< Control field shows current event number
116 TString *fFileName; ///< Full galice file name
117 TString *fPath; ///< Path string to galice
118 TString *fEvString; ///< Event number string
120 Int_t fChamber; ///< Current MT chamber
121 Int_t fEvent; ///< Current event number
122 Int_t fEventsPerRun; ///< Number of events per file (run)
124 AliLoader *fLoader; ///< The MUON loader
125 AliRunLoader *fRunLoader; ///< The run loader
127 AliCDBManager *fCDBManager; ///< Calibration DB manager
128 AliMUONCalibrationData *fCalibrationData; ///< Calibration data for MUON
129 AliMUONTriggerCrateStore *fCrateManager; ///< trigger boards manager
130 AliMUONMCDataInterface *fMCDataInterface; ///< MC data interface
132 Bool_t fBoardsInit; ///< Control the InitBoards only once
134 AliMUONTriggerGUIdimap *fDiMap; ///< Digits map
136 AliMUONTriggerElectronics *fTriggerProcessor; ///< The GUI trigger processor
138 TObjArray *fBoards; ///< The array of trigger boards
139 /// Access the array of trigger boards
140 TObjArray *Boards() {
141 if(!fBoards) fBoards = new TObjArray(kNBoards); return fBoards;
143 AliMUONTriggerGUIboard *GetBoard(Int_t id) const;
146 virtual void InitBoards();
148 void SetStripBoxes(AliMUONTriggerGUIboard *board);
150 ClassDef(AliMUONTriggerGUI,2) // Main GUI class for the MUON trigger