]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTriggerGUI.h
Compilation on Windoiws/Cygwin
[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;
f9eb4448 36class AliMUONTriggerCrateStore;
37class AliMUONMCDataInterface;
905654c2 38
39class AliMUONTriggerGUI : public TObject
40{
41
42public:
43
f9eb4448 44 AliMUONTriggerGUI(Int_t runNumber = 0);
905654c2 45 virtual ~AliMUONTriggerGUI() {
46 /// main gui destructor
47 };
48
905654c2 49 void OpenBoard(Int_t id);
50 void HandleMenu(Int_t id);
51
52 /* Do functions */
53
54 void DoRunApply();
55 void DoRunCancel();
56 void DoControlClose();
57 void DoCircuitCancel();
58 void DoCircuitOpen();
59 void DoErrorOK();
60 void DoNextEvent();
61 void DoPreviousEvent();
62 void DoSkipToEvent();
63 void DoErrorGUI(const Char_t *wt);
64
65 /* Close functions */
66
67 void CloseWindow();
68 void CloseRunInput() const;
69 void CloseError() const;
70 void CloseControl() const;
71 void CloseCircuit() const;
72
bae1aa70 73private:
74
75 AliMUONTriggerGUI (const AliMUONTriggerGUI& board); ///< copy constructor
76 AliMUONTriggerGUI& operator=(const AliMUONTriggerGUI& board);///< assignment operator
77
905654c2 78private:
79
bae1aa70 80 /// nr of boards, nr of chambers
81 enum { kNBoards = 234, kNMT = 4 };
905654c2 82
bae1aa70 83 /// working status flags
905654c2 84 enum EMenuIdentifiers {
85
86 kMFILEEXIT,
87 kMFILERUN,
88 kMFILECNTRL,
89
90 kMMAPDIGITS,
91 kMRESETDIGITS,
92
93 kMCIRCUITOPEN,
94
95 kMTRIGGERDSET
96
bae1aa70 97 };
905654c2 98
99 enum {
100 kGood = 0x0001, kWithProblems = 0x0002, kNotWorking = 0x0004, kUnknown = 0x0008
101 }; ///< working status flags
102
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
108
109 TGTransientFrame *fRunInput; ///< Run input window
110 TGTransientFrame *fError; ///< Error window
111 TGTransientFrame *fControl; ///< Run control window
112 TGTransientFrame *fCircuit; ///< Circuit window
113
114 TGTextEntry *fSkipToEventTxt;///< Control field shows current event number
115
116 TString *fFileName; ///< Full galice file name
117 TString *fPath; ///< Path string to galice
118 TString *fEvString; ///< Event number string
119
120 Int_t fChamber; ///< Current MT chamber
121 Int_t fEvent; ///< Current event number
122 Int_t fEventsPerRun; ///< Number of events per file (run)
123
124 AliLoader *fLoader; ///< The MUON loader
125 AliRunLoader *fRunLoader; ///< The run loader
126
127 AliCDBManager *fCDBManager; ///< Calibration DB manager
128 AliMUONCalibrationData *fCalibrationData; ///< Calibration data for MUON
f9eb4448 129 AliMUONTriggerCrateStore *fCrateManager; ///< trigger boards manager
130 AliMUONMCDataInterface *fMCDataInterface; ///< MC data interface
905654c2 131
132 Bool_t fBoardsInit; ///< Control the InitBoards only once
133
134 AliMUONTriggerGUIdimap *fDiMap; ///< Digits map
135
136 AliMUONTriggerElectronics *fTriggerProcessor; ///< The GUI trigger processor
905654c2 137
138 TObjArray *fBoards; ///< The array of trigger boards
bae1aa70 139 /// Access the array of trigger boards
905654c2 140 TObjArray *Boards() {
141 if(!fBoards) fBoards = new TObjArray(kNBoards); return fBoards;
bae1aa70 142 };
905654c2 143 AliMUONTriggerGUIboard *GetBoard(Int_t id) const;
144
145 virtual void Init();
146 virtual void InitBoards();
147
148 void SetStripBoxes(AliMUONTriggerGUIboard *board);
149
bae1aa70 150 ClassDef(AliMUONTriggerGUI,2) // Main GUI class for the MUON trigger
905654c2 151
152};
153
154#endif