]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTriggerGUIboard.h
Removed usage of removed class AliMpManuList
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerGUIboard.h
CommitLineData
905654c2 1#ifndef ALIMUONTRIGGERGUIBOARD_H
2#define ALIMUONTRIGGERGUIBOARD_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 AliMUONTriggerGUIboard
9/// \brief Trigger GUI utility class: single board object
37391c63 10// Author Bogdan Vulpescu, LPC Clermont-Ferrand
905654c2 11
12#include <TString.h>
13#include <TObject.h>
14
15class TObjArray;
16class TBox;
17
18class AliMUONTriggerGUIboard : public TObject
19{
20
21public:
22
23 AliMUONTriggerGUIboard(Int_t id, Char_t *name);
24 virtual ~AliMUONTriggerGUIboard();
25
905654c2 26 /// returns the standard name of this board
27 Char_t *GetBoardName() const { return (Char_t*)(fName->Data()); };
28 /// returns the working status of this board
29 UShort_t GetStatus() const { return fStatus; };
30 /// returns the number of this board
31 Int_t GetNumber() const { return fID; };
32
33 /// initialize the board
34 void Init() {};
35 /// set the working status of this board
36 void SetStatus(UShort_t s) { fStatus = s; };
37 /// set the standard name of this board
38 void SetBoardName(Char_t *name) { fName = new TString(name); };
39 /// set the geometrical location and dimensions of this board
40 void SetDimensions(Int_t imt,
41 Float_t xc, Float_t yc, Float_t zc,
42 Float_t xw, Float_t yw) {
43 fXCenter[imt] = xc; fYCenter[imt] = yc; fZCenter[imt] = zc;
44 fXWidth[imt] = xw; fYWidth[imt] = yw;
45 };
46 /// set the index range for the x strips
47 void SetXSindex(Int_t ix, Int_t iy1, Int_t iy2) {
48 fXSix = ix;
49 fXSiy1 = iy1;
50 fXSiy2 = iy2;
51 };
52 /// set the index range for the y strips
53 void SetYSindex(Int_t ix1, Int_t ix2, Int_t iy) {
54 fYSix1 = ix1;
55 fYSix2 = ix2;
56 fYSiy = iy;
57 };
58 /// set the number of the detector element containing this board
59 void SetDetElemId(Int_t id) { fDetElemId = id; };
60 /// set the number of this board
61 void SetIdCircuit(Int_t id) { fIdCircuit = id; };
62 /// set an x-strip digit in a chamber with amplitude = amp
63 void SetDigitX(Int_t imt, Int_t is, Int_t amp) {
64 fXDig[imt][is] = (UChar_t)amp; };
65 /// set a y-strip digit in a chamber with amplitude = amp
66 void SetDigitY(Int_t imt, Int_t is, Int_t amp) {
67 fYDig[imt][is] = (UChar_t)amp; };
68 /// set neighbouring boards with common y strips
69 void SetYOver(Int_t over) { fYOver = (UChar_t)over; };
70 /// get neighbouring boards with common y strips
71 UChar_t GetYOver() const { return fYOver; };
72 /// set the board position inside the detector element in y direction
73 void SetPosition(Int_t pos) { fPosition = (UChar_t)pos; };
74 /// get the board position inside the detector element in y direction
75 UChar_t GetPosition() const { return fPosition; };
76 /// get the digit amplitude for an x-strip in a given chamber
77 Int_t GetXDig(Int_t imt, Int_t is) const { return fXDig[imt][is]; };
78 /// get the digit amplitude for a y-strip in a given chamber
79 Int_t GetYDig(Int_t imt, Int_t is) const { return fYDig[imt][is]; };
80
81 void SetXDigBox(Int_t imt, Int_t is, Double_t x1, Double_t y1, Double_t x2, Double_t y2);
82 void SetYDigBox(Int_t imt, Int_t is, Double_t x1, Double_t y1, Double_t x2, Double_t y2);
83 /// get the graphical box of an x-trip
84 TBox *GetXDigBox(Int_t imt, Int_t is) const { return fXDigBox[imt][is]; };
85 /// get the graphical box of a y-trip
86 TBox *GetYDigBox(Int_t imt, Int_t is) const { return fYDigBox[imt][is]; };
87
88 /// get x-center of the board in chamber imt
89 Float_t GetXCenter(Int_t imt) const { return fXCenter[imt]; };
90 /// get y-center of the board in chamber imt
91 Float_t GetYCenter(Int_t imt) const { return fYCenter[imt]; };
92 /// get z-center of the board in chamber imt
93 Float_t GetZCenter(Int_t imt) const { return fZCenter[imt]; };
94 /// get x-width of the board in chamber imt
95 Float_t GetXWidth(Int_t imt) const { return fXWidth[imt]; };
96 /// get y-width of the board in chamber imt
97 Float_t GetYWidth(Int_t imt) const { return fYWidth[imt]; };
98
99 /// get x-index in detector element for an x-strip
100 Int_t GetXSix() const { return fXSix; };
101 /// get first y-index in detector element for an x-strip
102 Int_t GetXSiy1() const { return fXSiy1; };
103 /// get last y-index in detector element for an x-strip
104 Int_t GetXSiy2() const { return fXSiy2; };
105 /// get first x-index in detector element for a y-strip
106 Int_t GetYSix1() const { return fYSix1; };
107 /// get last x-index in detector element for a y-strip
108 Int_t GetYSix2() const { return fYSix2; };
109 /// get y-index in detector element for a y-strip
110 Int_t GetYSiy() const { return fYSiy; };
111 /// get number of x strips
112 Int_t GetNStripX() const { return GetXSiy2() - GetXSiy1() + 1; };
113 /// get number of y strips
114 Int_t GetNStripY() const { return GetYSix2() - GetYSix1() + 1; };
115 /// get the id of the detector element
116 Int_t GetDetElemId() const { return fDetElemId; };
117 /// get the id of the circuit
118 Int_t GetIdCircuit() const { return fIdCircuit; };
119
120 /// set true if this board has a gui active
121 void SetOpen(Bool_t open) { fIsOpen = open; };
122 /// true if this board has a gui active
123 Bool_t IsOpen() const { return fIsOpen; };
124
125 void ClearXDigits();
126 void ClearYDigits();
127
128private:
129
130 enum { kNMT = 4, kNS = 16 }; ///< constants
131
37391c63 132 /// Not implemented
133 AliMUONTriggerGUIboard (const AliMUONTriggerGUIboard& board);
134 /// Not implemented
135 AliMUONTriggerGUIboard& operator=(const AliMUONTriggerGUIboard& board);
136
905654c2 137 TString *fName; ///< Board name LCxLxBx or RCxLxBx
138 Int_t fID; ///< Board serial number
139 UShort_t fStatus; ///< Board status
140 UChar_t fPosition; ///< Y-boards position
141 UChar_t fYOver; ///< Y-boards with common y-strips
142
143 Float_t fXCenter[kNMT]; ///< X-center of the board
144 Float_t fYCenter[kNMT]; ///< Y-center of the board
145 Float_t fZCenter[kNMT]; ///< Z-center of the board
146 Float_t fXWidth[kNMT]; ///< X-width of the board
147 Float_t fYWidth[kNMT]; ///< Y-width of the board
148
149 Int_t fXSix; ///< X-strips ix index in the board
150 Int_t fXSiy1; ///< X-strips first iy index in the board
151 Int_t fXSiy2; ///< X-strips last iy index in the board
152
153 Int_t fYSix1; ///< Y-strips first ix index in the board
154 Int_t fYSix2; ///< Y-strips last ix index in the board
155 Int_t fYSiy; ///< Y-strips iy index in the board
156
157 Int_t fDetElemId; ///< Detector element ID (modulo 100)
158
159 Int_t fIdCircuit; ///< Circuit number
160
161 UChar_t fXDig[kNMT][kNS]; ///< X-digits amplitude, set by GUI
162 UChar_t fYDig[kNMT][kNS]; ///< Y-digits amplitude, set by GUI
163
164 TBox *fXDigBox[kNMT][kNS]; ///< X-digits boxes
165 TBox *fYDigBox[kNMT][kNS]; ///< Y-digits boxes
166
167 Bool_t fIsOpen; ///< Selection flag for the digits map
168
69d7ac2e 169 ClassDef(AliMUONTriggerGUIboard,1) //Trigger GUI utility class: single board object
905654c2 170
171};
172
173#endif