AliRoot Core  a565103 (a565103)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONLocalTriggerBoard.h
Go to the documentation of this file.
1 #ifndef ALIMUONLOCALTRIGGERBOARD_H
2 #define ALIMUONLOCALTRIGGERBOARD_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 /* $Id$ */
7 
12 // Author Rachid Guernane (LPCCFd)
13 
14 #include "AliMUONTriggerBoard.h"
15 #include "AliMpLocalBoard.h"
16 
17 class AliMUONTriggerLut;
18 
20 {
21  public:
22 
25 
26  virtual ~AliMUONLocalTriggerBoard();
27 
29  Bool_t HasLUT() const { return (fLUT != 0); }
30 
32  void SetLUT(AliMUONTriggerLut* lut) { fLUT = lut; }
34  void SetCoinc44(Int_t coinc44=0) { fCoinc44 = coinc44; }
35 
36  virtual void SetbitM(Int_t strip, Int_t cathode, Int_t chamber);
37 
38  virtual void Pattern(const Option_t *option = "X Y") const; // default option displays X then Y bp
39 
40  virtual void Reset();
41  virtual void ResetResponse();
42 
43 
45  virtual UShort_t GetSwitch(Int_t i) const {return (UShort_t)fMpLocalBoard->GetSwitch(i);}
46 
48  virtual Bool_t GetTC() const {return fMpLocalBoard->GetTC();}
49 
51  virtual Int_t GetNumber() const { return fMpLocalBoard->GetId(); }
52 
54  virtual Bool_t IsNotified() const { return fMpLocalBoard->IsNotified(); }
55 
57  virtual TString GetCrate() const {return fMpLocalBoard->GetCrate();}
58 
60  virtual void GetXY(UShort_t XY[2][4]) const {for (Int_t i=0;i<2;i++) for (Int_t j=0;j<4;j++) XY[i][j] = fXY[i][j];}
61 
63  virtual UShort_t GetXY(Int_t i, Int_t j) const {return fXY[i][j];}
64 
66  virtual void SetXY(UShort_t XY[2][4]) {for (Int_t i=0;i<2;i++) for (Int_t j=0;j<4;j++) fXY[i][j] = XY[i][j];}
67 
68  virtual void Conf() const;
69 
70  virtual void Response();
71 
72  virtual void Mask(Int_t index, UShort_t value);
73 
74  virtual void TrigX(Int_t ch1q[16], Int_t ch2q[16], Int_t ch3q[32], Int_t ch4q[32]);
75 
76  virtual void Sort2x5(Int_t dev1[6], Int_t dev2[6],
77  Int_t minDev[6], Int_t &dev1GTdev2);
78 
79  virtual void TrigY(Int_t y1[16], Int_t y2[16], Int_t y3[16], Int_t y4[16],
80  Int_t y3u[16], Int_t y3d[16], Int_t y4u[16], Int_t y4d[16]);
81 
83  virtual void SetXYU(UShort_t V[2][4]) {for (Int_t i=0;i<2;i++) for (Int_t j=0;j<4;j++) fXYU[i][j] = V[i][j];}
84 
86  virtual void GetXYU(UShort_t V[2][4]) const {for (Int_t i=0;i<2;i++) for (Int_t j=0;j<4;j++) V[i][j] = fXYU[i][j];}
87 
89  virtual void SetXYD(UShort_t V[2][4]) {for (Int_t i=0;i<2;i++) for (Int_t j=0;j<4;j++) fXYD[i][j] = V[i][j];}
90 
92  virtual void GetXYD(UShort_t V[2][4]) const {for (Int_t i=0;i<2;i++) for (Int_t j=0;j<4;j++) V[i][j] = fXYD[i][j];}
93 
94  virtual void Scan(Option_t *option = "") const;
95 
96  virtual Int_t GetI() const;
97 
98  virtual void LocalTrigger();
99 
101  virtual Int_t Triggered() const {return fOutput;}
102 
104  virtual Int_t GetStripX11() const {return fStripX11;}
105 
107  virtual Int_t GetStripY11() const {return fStripY11;}
108 
110  virtual Int_t GetDev() const {return fDev;}
111 
113  virtual Int_t GetSdev() const {return fMinDev[4];}
114 
116  virtual Int_t GetTrigY() const {return fTrigY;}
117 
118  virtual Bool_t IsTrigY() const;
119 
120  virtual Bool_t IsTrigX() const;
121 
124 
125  virtual Bool_t IsNull() const;
126 
127  protected:
128 
129  static const Int_t fgkCircuitId[234];
130 
131  virtual void Resp(Option_t *option) const;
132 
133  virtual void BP(const Option_t *option) const;
134 
135  private:
137 
138  UShort_t fXY[2][4];
139  UShort_t fXYU[2][4];
140  UShort_t fXYD[2][4];
141  UShort_t fMask[2][4];
142 
143  Int_t fStripX11;
144 
145  Int_t fStripY11;
146 
147  Int_t fDev;
148  Int_t fTrigY;
149 
150  Int_t fLutLpt[2];
151  Int_t fLutHpt[2];
152 
153 // Outputs of the local logic
154  Int_t fOutput;
155  Int_t fMinDevStrip[5];
156  Int_t fMinDev[5];
157  Int_t fCoordY[5];
158 
160  Int_t fCoinc44;
161 
162  ClassDef(AliMUONLocalTriggerBoard,2) //Implementation of local trigger board objects
163 };
164 #endif
virtual void SetbitM(Int_t strip, Int_t cathode, Int_t chamber)
TString GetCrate() const
Return crate name.
Bool_t GetTC() const
Return transverse connector.
virtual void Scan(Option_t *option="") const
virtual method for derivated classes
Bool_t IsNotified() const
Return notified flag (not copy card)
virtual void SetXY(UShort_t XY[2][4])
Set XY.
void SetCoinc44(Int_t coinc44=0)
Set Coinc 44 (0/1 = coinc34/coinc44)
virtual Bool_t IsNotified() const
Is notified (copy boards are not)
Int_t GetId() const
Return the identifier (unique)
virtual Int_t GetStripX11() const
Return MT1 X position of the valid road.
virtual void TrigX(Int_t ch1q[16], Int_t ch2q[16], Int_t ch3q[32], Int_t ch4q[32])
AliMUONLocalTriggerBoard & operator=(const AliMUONLocalTriggerBoard &right)
virtual void GetXY(UShort_t XY[2][4]) const
Return XY.
AliMUONTriggerLut * fLUT
! Pointer to trigger LUT, that we do not own.
Int_t GetSwitch(Int_t index) const
Get switch bit wise (return a inteter for backware compatibility)
virtual Int_t Triggered() const
Return info if Board has triggered.
static const Int_t fgkCircuitId[234]
old numbering (to be removed)
Class that manages the properties of the local board.
Int_t fMinDevStrip[5]
X (from algo)
virtual void BP(const Option_t *option) const
display X/Y bp
virtual UShort_t GetXY(Int_t i, Int_t j) const
Return XY.
virtual UShort_t GetSwitch(Int_t i) const
Return i-th Switch value.
virtual void SetXYD(UShort_t V[2][4])
Set XYD.
UShort_t fXYU[2][4]
Bit pattern UP.
virtual Int_t GetStripY11() const
Return MT1 Y position of the valid road.
virtual void Response()
virtual method for derivated classes
virtual Int_t GetTrigY() const
Return Trigger in Y.
Int_t fStripX11
MT1 X position of the valid road.
Int_t fStripY11
MT1 Y position of the valid road.
Bool_t HasLUT() const
Return true if LUT is set.
Trigger board base class.
virtual void Mask(Int_t index, UShort_t value)
Implementation of local trigger board objects.
virtual Int_t GetSdev() const
Return Sign of Deviation.
Int_t fCoinc44
Coinc 44 (0/1 = coinc34/coinc44)
Int_t fLutLpt[2]
Low Pt cuts estimated from LUT.
virtual void TrigY(Int_t y1[16], Int_t y2[16], Int_t y3[16], Int_t y4[16], Int_t y3u[16], Int_t y3d[16], Int_t y4u[16], Int_t y4d[16])
Int_t fOutput
Board has triggered.
AliMpLocalBoard * fMpLocalBoard
pointer to the local board mapping
virtual void GetXYD(UShort_t V[2][4]) const
Return XYD.
virtual TString GetCrate() const
Return Crate name.
Int_t fDev
X deviation as in table 3-1 of Local Trigger Board PRR.
virtual Int_t GetNumber() const
Return Board number.
virtual void Resp(Option_t *option) const
local trigger info before ("I") and after ("F") LUT
Int_t fMinDev[5]
Dev (from algo)
Int_t fLutHpt[2]
High Pt cuts estimated from LUT.
virtual void SetXYU(UShort_t V[2][4])
Set XYU.
UShort_t fXY[2][4]
Bit pattern.
UShort_t fXYD[2][4]
Bit pattern DOWN.
virtual void Reset()
virtual method for derivated classes
Int_t fCoordY[5]
Y (from algo)
virtual Int_t GetDev() const
Return Deviation.
virtual void Sort2x5(Int_t dev1[6], Int_t dev2[6], Int_t minDev[6], Int_t &dev1GTdev2)
MUON trigger look up table class.
virtual void Pattern(const Option_t *option="X Y") const
void SetLUT(AliMUONTriggerLut *lut)
Set LUT.
virtual void GetXYU(UShort_t V[2][4]) const
Return XYU.
virtual Bool_t GetTC() const
Return Transverse connector.