AliRoot Core  v5-06-15 (45dab64)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONLocalStruct.h
Go to the documentation of this file.
1 #ifndef ALIMUONLOCALSTRUCT_H
2 #define ALIMUONLOCALSTRUCT_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 Christian Finck
13 
14 #include <TObject.h>
15 #include <TMath.h>
16 #include <TArrayS.h>
17 
18 
19 class AliMUONLocalStruct : public TObject{
20 
21 public:
25 
26 
27  virtual ~AliMUONLocalStruct();
28 
29  // local board info
31  UInt_t GetData(Int_t n) const {return fData[n];}
32 
34  UShort_t GetX2() const {return (fData[0] >> 16) & 0xFFFF;}
36  UShort_t GetX1() const {return (fData[0]) & 0xFFFF;}
38  UShort_t GetX4() const {return (fData[1] >> 16) & 0xFFFF;}
40  UShort_t GetX3() const {return (fData[1]) & 0xFFFF;}
42  void GetXPattern(TArrayS& array) const;
44  void GetYPattern(TArrayS& array) const;
45 
47  UShort_t GetY2() const {return (fData[2] >> 16) & 0xFFFF;}
49  UShort_t GetY1() const {return (fData[2]) & 0xFFFF;}
51  UShort_t GetY4() const {return (fData[3] >> 16) & 0xFFFF;}
53  UShort_t GetY3() const {return (fData[3]) & 0xFFFF;}
54 
56  UChar_t GetId() const {return fData[4] >> 19 & 0xF;}
58  UChar_t GetDec() const {return fData[4] >> 15 & 0xF;}
60  Bool_t GetTrigY() const {return (fData[4] >> 14 & 0x1);}
62  Bool_t GetTriggerY() const {return !(GetTrigY() && GetYPos()==15);}
64  UChar_t GetYPos() const {return fData[4] >> 10 & 0xF;}
66  UChar_t GetSXDev() const {return fData[4] >> 9 & 0x1;}
68  UChar_t GetXDev() const {return fData[4] >> 5 & 0xF;}
70  Bool_t GetTriggerX() const {return !(GetSXDev() &&
71  !GetXDev() &&
72  GetXPos()==0);}
74  UChar_t GetXPos() const {return fData[4] & 0x1F;}
75 
77  Int_t GetLpt() const {return (GetDec() & 0x3);}
79  Int_t GetHpt() const {return (GetDec() >> 2) & 0x3;}
80 
82  void SetData(UInt_t d, Int_t n) {fData[n] = d;}
83 
85  UInt_t* GetData() {return &fData[0];}
86 
87  // Scaler methods
89  UInt_t GetL0() const {return fL0;}
91  UInt_t GetHold() const {return fHold;}
93  UInt_t GetClock() const {return fClk;}
95  UShort_t GetSwitch() const {return (fEOS >> 1) & 0x3FF;}
97  UChar_t GetComptXY() const {return fEOS & 1;}
98 
100  UShort_t GetXY1(Int_t n) const {return (n % 2 == 1) ?
101  (fScaler[TMath::Nint(Float_t(n/2))] & 0xFFFF) :
102  (fScaler[TMath::Nint(Float_t(n/2))] >> 16) & 0xFFFF;}
103 
105  UShort_t GetXY2(Int_t n) const {return (n % 2 == 1) ?
106  (fScaler[8 + TMath::Nint(Float_t(n/2))] & 0xFFFF) :
107  (fScaler[8 + TMath::Nint(Float_t(n/2))] >> 16) & 0xFFFF;}
108 
110  UShort_t GetXY3(Int_t n) const {return (n % 2 == 1) ?
111  (fScaler[8*2 + TMath::Nint(Float_t(n/2))] & 0xFFFF) :
112  (fScaler[8*2 + TMath::Nint(Float_t(n/2))] >> 16) & 0xFFFF;}
113 
115  UShort_t GetXY4(Int_t n) const {return (n % 2 == 1) ?
116  (fScaler[8*3 + TMath::Nint(Float_t(n/2))] & 0xFFFF) :
117  (fScaler[8*3 + TMath::Nint(Float_t(n/2))] >> 16) & 0xFFFF;}
118 
120  UInt_t* GetScalers() {return &fL0;}
121 
122  // get length
124  Int_t GetScalerLength() const {return fgkScalerLength;}
126  Int_t GetLength() const {return fgkLength;}
128  UInt_t GetEndOfLocal() const {return fgkEndOfLocal;}
130  UInt_t GetDisableWord() const {return fgkDisableWord;}
131 
132  // set random numbers to fill variable
133  void SetScalersNumbers();
134 
135  private:
136 
137  // local info
138  UInt_t fData[5];
139 
140  // local card scalers
141  UInt_t fL0;
142  UInt_t fHold;
143  UInt_t fClk;
144 
145  UInt_t fLPtNTrig;
146  UInt_t fHPtNTrig;
147 
148  UInt_t fLPtRTrig;
149  UInt_t fHPtRTrig;
150 
151  UInt_t fLPtLTrig;
152  UInt_t fHPtLTrig;
153 
154  UInt_t fLPtSTrig;
155  UInt_t fHPtSTrig;
156 
157  UInt_t fScaler[8*4];
158  UInt_t fEOS;
159  UInt_t fReset;
160 
161  static const Int_t fgkLength;
162  static const Int_t fgkScalerLength;
163  static const UInt_t fgkEndOfLocal;
164  static const UInt_t fgkDisableWord;
165 
166  ClassDef(AliMUONLocalStruct,3) //Rawdata local card structure for trigger
167 };
168 #endif
UInt_t GetClock() const
Return local clock.
UInt_t fEOS
contains switches conf. & flag for reading X (0) or Y (1) in fScaler
UInt_t fLPtLTrig
local low Pt left trigger
Rawdata local card structure for trigger.
UInt_t GetEndOfLocal() const
Return end of local info word.
static const Int_t fgkLength
local info length in word
UShort_t GetXY2(Int_t n) const
Return XY2.
UInt_t fHold
local hold (dead time)
UShort_t GetY3() const
Return Y3.
Int_t GetHpt() const
Return HPT.
UInt_t fLPtNTrig
local low Pt no trigger
UChar_t GetSXDev() const
Get Sign of X deviation.
UShort_t GetXY1(Int_t n) const
Return XY1.
UShort_t GetXY3(Int_t n) const
Return XY3.
UChar_t GetDec() const
Return Dec.
Int_t GetLength() const
Return local info length in word.
Int_t GetScalerLength() const
Return scaler length in word.
UInt_t GetDisableWord() const
Return Word for "empty" slots.
UInt_t fHPtSTrig
local high Pt straight trigger
UInt_t fClk
local clock
Bool_t GetTrigY() const
Return TrigY.
UInt_t GetData(Int_t n) const
Return local data.
UChar_t GetComptXY() const
Return ComptXY.
UShort_t GetY4() const
Return Y4.
UInt_t fLPtRTrig
local low Pt right trigger
TObjArray * array
Definition: AnalyzeLaser.C:12
UShort_t GetX1() const
Return X1.
UInt_t * GetData()
Return data.
UInt_t fHPtRTrig
local high Pt right trigger
Bool_t GetTriggerY() const
Return TriggerY.
UInt_t GetHold() const
Return local hold (dead time)
UInt_t GetL0() const
Return local L0.
AliMUONLocalStruct & operator=(const AliMUONLocalStruct &event)
Bool_t GetTriggerX() const
Return TriggerX.
UShort_t GetY2() const
Return Y2.
UShort_t GetY1() const
Return Y1.
void GetXPattern(TArrayS &array) const
return X pattern array
UInt_t fHPtLTrig
local high Pt left trigger
void GetYPattern(TArrayS &array) const
return Y pattern array
static const UInt_t fgkEndOfLocal
end of local info word
UInt_t fHPtNTrig
local high Pt no trigger
UInt_t fScaler[8 *4]
local data
UChar_t GetXPos() const
Return Xpos.
UChar_t GetId() const
Return Id.
UChar_t GetXDev() const
Get X deviation.
UShort_t GetXY4(Int_t n) const
Return XY4.
Int_t GetLpt() const
Return LPT.
static const UInt_t fgkDisableWord
Word for "empty" slots.
UInt_t * GetScalers()
Return scalers.
static const Int_t fgkScalerLength
scaler length in word
void SetData(UInt_t d, Int_t n)
Set local data.
UInt_t fReset
reset signal
UInt_t fData[5]
local data
UShort_t GetX3() const
Return X3.
UShort_t GetX4() const
Return X4.
UShort_t GetSwitch() const
Return switch.
UShort_t GetX2() const
Return X2.
UInt_t fLPtSTrig
local low Pt straight trigger
UChar_t GetYPos() const
Return Upos.