Separating run-dependent mapping data from data, which are not
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerGUIdimap.h
1 #ifndef ALIMUONTRIGGERGUIDIMAP_H
2 #define ALIMUONTRIGGERGUIDIMAP_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 AliMUONTriggerGUIdimap
9 /// \brief Trigger GUI utility class: digits maps of the trigger chambers
10 //  Author Bogdan Vulpescu, LPC Clermont-Ferrand
11
12 #include <TGFrame.h>
13
14 class AliLoader;
15 class TGTransientFrame;
16 class TObjArray;
17 class TRootEmbeddedCanvas;
18 class TPave;
19 class TH1F;
20 class TGWindow;
21 class TPad;
22
23 class AliMUONTriggerGUIdimap : public TGFrame
24 {
25     
26 public:
27
28  AliMUONTriggerGUIdimap(AliLoader *loader,
29                         TObjArray *boards, 
30                         const TGWindow *p, const TGWindow *main, 
31                         UInt_t w, UInt_t h);
32  virtual ~AliMUONTriggerGUIdimap();
33  
34  /// set the current muon loader
35  void SetLoader(AliLoader *loader) { fLoader = loader; };
36  /// true if the gui is active
37  Bool_t IsOn() const { return fIsOn; };
38
39  void DoClose();
40  void DoUpdate();
41  void DoTab(Int_t id) const;
42  void DoReset();
43  void CloseWindow();
44  void DrawMaps(Int_t chamber);
45  void SelectBoard(Int_t ib);
46
47 private:
48  /// Not implemented  
49  AliMUONTriggerGUIdimap (const AliMUONTriggerGUIdimap& dimap);
50  /// Not implemented  
51  AliMUONTriggerGUIdimap& operator=(const AliMUONTriggerGUIdimap& dimap);
52  
53 private:
54
55   enum { kNBoards = 234 };        ///< number of boards
56   enum { kGood = 0x0001, kWithProblems = 0x0002, kNotWorking = 0x0004, kUnknown = 0x0008 };                      ///< working status flags
57   enum { kNSide = 2, kNCol = 7, kNLine = 9, kNMT = 4, kNBoardType = 3 }; ///< other constants
58   
59   TGTransientFrame    *fMain;     ///< Main frame
60
61   AliLoader   *fLoader;           ///< The MUON loader
62
63   TRootEmbeddedCanvas *fEc[kNMT]; ///< Canvases for drawing the digits
64
65   TPave *fPaveBoard[kNMT][kNBoards];    ///< Drawing of the board
66   TObjArray   *fBoards;           ///< Array of boards
67
68   Bool_t fIsOn;                   ///< True if the map is open
69
70   ClassDef(AliMUONTriggerGUIdimap,1) //Trigger GUI utility class: digits maps of the trigger chambers
71    
72 };
73
74 #endif