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