Changes to use VTriggerStore (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerGUI.h
CommitLineData
905654c2 1#ifndef ALIMUONTRIGGERGUI_H
2#define ALIMUONTRIGGERGUI_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/// \ingroup evaluation
8/// \class AliMUONTriggerGUI
9/// \brief Trigger GUI utility class
10
11//////////////////////////////////////////////////////////////////////////
12// //
13// Graphical User Interface utility class for the MUON trigger //
14// //
15//////////////////////////////////////////////////////////////////////////
16
17#include <TObject.h>
18#include <TObjArray.h>
19
20class TString;
21class TGMainFrame;
22class TGTransientFrame;
23class TGImageMap;
24class TGTextEntry;
25class TGTextBuffer;
26class TRootEmbeddedCanvas;
27class TParticle;
28class TGTableLayout;
29
30class AliStack;
31class AliLoader;
32class AliRunLoader;
33class AliCDBManager;
34class AliMUONCalibrationData;
35class AliMUONTriggerGUIboard;
36class AliMUONTriggerGUIdimap;
37class AliMUONData;
38class AliMUONTriggerElectronics;
39
40class AliMUONTriggerGUI : public TObject
41{
42
43public:
44
45 AliMUONTriggerGUI();
46 virtual ~AliMUONTriggerGUI() {
47 /// main gui destructor
48 };
49
50 AliMUONTriggerGUI (const AliMUONTriggerGUI& board);
51 AliMUONTriggerGUI& operator=(const AliMUONTriggerGUI& board);
52
53 void OpenBoard(Int_t id);
54 void HandleMenu(Int_t id);
55
56 /* Do functions */
57
58 void DoRunApply();
59 void DoRunCancel();
60 void DoControlClose();
61 void DoCircuitCancel();
62 void DoCircuitOpen();
63 void DoErrorOK();
64 void DoNextEvent();
65 void DoPreviousEvent();
66 void DoSkipToEvent();
67 void DoErrorGUI(const Char_t *wt);
68
69 /* Close functions */
70
71 void CloseWindow();
72 void CloseRunInput() const;
73 void CloseError() const;
74 void CloseControl() const;
75 void CloseCircuit() const;
76
77private:
78
79 enum { kNBoards = 234, kNMT = 4 }; ///< nr of boards, nr of chambers
80
81 enum EMenuIdentifiers {
82
83 kMFILEEXIT,
84 kMFILERUN,
85 kMFILECNTRL,
86
87 kMMAPDIGITS,
88 kMRESETDIGITS,
89
90 kMCIRCUITOPEN,
91
92 kMTRIGGERDSET
93
94 }; ///< gui menu identifiers
95
96 enum {
97 kGood = 0x0001, kWithProblems = 0x0002, kNotWorking = 0x0004, kUnknown = 0x0008
98 }; ///< working status flags
99
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
105
106 TGTransientFrame *fRunInput; ///< Run input window
107 TGTransientFrame *fError; ///< Error window
108 TGTransientFrame *fControl; ///< Run control window
109 TGTransientFrame *fCircuit; ///< Circuit window
110
111 TGTextEntry *fSkipToEventTxt;///< Control field shows current event number
112
113 TString *fFileName; ///< Full galice file name
114 TString *fPath; ///< Path string to galice
115 TString *fEvString; ///< Event number string
116
117 Int_t fChamber; ///< Current MT chamber
118 Int_t fEvent; ///< Current event number
119 Int_t fEventsPerRun; ///< Number of events per file (run)
120
121 AliLoader *fLoader; ///< The MUON loader
122 AliRunLoader *fRunLoader; ///< The run loader
123
124 AliCDBManager *fCDBManager; ///< Calibration DB manager
125 AliMUONCalibrationData *fCalibrationData; ///< Calibration data for MUON
126
127 Bool_t fBoardsInit; ///< Control the InitBoards only once
128
129 AliMUONTriggerGUIdimap *fDiMap; ///< Digits map
130
131 AliMUONTriggerElectronics *fTriggerProcessor; ///< The GUI trigger processor
132 AliMUONData *fMUONData; ///< The MUON data manager
133
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;
139
140 virtual void Init();
141 virtual void InitBoards();
142
143 void SetStripBoxes(AliMUONTriggerGUIboard *board);
144
145 ClassDef(AliMUONTriggerGUI,1) // Main GUI class for the MUON trigger
146
147};
148
149#endif