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 */
7 /// \ingroup evaluation
8 /// \class AliMUONTriggerGUI
9 /// \brief Trigger GUI utility class
11 //////////////////////////////////////////////////////////////////////////
13 // Graphical User Interface utility class for the MUON trigger //
15 //////////////////////////////////////////////////////////////////////////
18 #include <TObjArray.h>
22 class TGTransientFrame;
26 class TRootEmbeddedCanvas;
34 class AliMUONCalibrationData;
35 class AliMUONTriggerGUIboard;
36 class AliMUONTriggerGUIdimap;
38 class AliMUONTriggerElectronics;
40 class AliMUONTriggerGUI : public TObject
46 virtual ~AliMUONTriggerGUI() {
47 /// main gui destructor
50 AliMUONTriggerGUI (const AliMUONTriggerGUI& board);
51 AliMUONTriggerGUI& operator=(const AliMUONTriggerGUI& board);
53 void OpenBoard(Int_t id);
54 void HandleMenu(Int_t id);
60 void DoControlClose();
61 void DoCircuitCancel();
65 void DoPreviousEvent();
67 void DoErrorGUI(const Char_t *wt);
72 void CloseRunInput() const;
73 void CloseError() const;
74 void CloseControl() const;
75 void CloseCircuit() const;
79 enum { kNBoards = 234, kNMT = 4 }; ///< nr of boards, nr of chambers
81 enum EMenuIdentifiers {
94 }; ///< gui menu identifiers
97 kGood = 0x0001, kWithProblems = 0x0002, kNotWorking = 0x0004, kUnknown = 0x0008
98 }; ///< working status flags
100 TGMainFrame *fMain; ///< The main frame
101 TGImageMap *fImageMap; ///< The image map of the main frame
102 TGTextBuffer *fTxtBuffer1; ///< Path to the data (galice.root)
103 TGTextBuffer *fTxtBuffer2; ///< Current event number
104 TGTextBuffer *fTxtCircuit; ///< Circuit to open
106 TGTransientFrame *fRunInput; ///< Run input window
107 TGTransientFrame *fError; ///< Error window
108 TGTransientFrame *fControl; ///< Run control window
109 TGTransientFrame *fCircuit; ///< Circuit window
111 TGTextEntry *fSkipToEventTxt;///< Control field shows current event number
113 TString *fFileName; ///< Full galice file name
114 TString *fPath; ///< Path string to galice
115 TString *fEvString; ///< Event number string
117 Int_t fChamber; ///< Current MT chamber
118 Int_t fEvent; ///< Current event number
119 Int_t fEventsPerRun; ///< Number of events per file (run)
121 AliLoader *fLoader; ///< The MUON loader
122 AliRunLoader *fRunLoader; ///< The run loader
124 AliCDBManager *fCDBManager; ///< Calibration DB manager
125 AliMUONCalibrationData *fCalibrationData; ///< Calibration data for MUON
127 Bool_t fBoardsInit; ///< Control the InitBoards only once
129 AliMUONTriggerGUIdimap *fDiMap; ///< Digits map
131 AliMUONTriggerElectronics *fTriggerProcessor; ///< The GUI trigger processor
132 AliMUONData *fMUONData; ///< The MUON data manager
134 TObjArray *fBoards; ///< The array of trigger boards
135 TObjArray *Boards() {
136 if(!fBoards) fBoards = new TObjArray(kNBoards); return fBoards;
137 }; ///< Access the array of trigger boards
138 AliMUONTriggerGUIboard *GetBoard(Int_t id) const;
141 virtual void InitBoards();
143 void SetStripBoxes(AliMUONTriggerGUIboard *board);
145 ClassDef(AliMUONTriggerGUI,1) // Main GUI class for the MUON trigger