1 #ifndef ALIMUONLOCALTRIGGER_H
2 #define ALIMUONLOCALTRIGGER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
8 // Revision of includes 07/05/2004
11 /// \class AliMUONLocalTrigger
12 /// \brief Reconstructed Local Trigger object
18 class AliMUONLocalStruct;
20 class AliMUONLocalTrigger : public TObject {
22 AliMUONLocalTrigger();
23 AliMUONLocalTrigger(const AliMUONLocalTrigger& rhs); // copy constructor !
24 AliMUONLocalTrigger(const Int_t* localtr, const TArrayI& digits);
25 virtual ~AliMUONLocalTrigger(){;}
26 AliMUONLocalTrigger& operator=(const AliMUONLocalTrigger& rhs);
30 /// Return Circuit number
31 Int_t LoCircuit() const {return fLoCircuit;}
32 /// Return X strip in MT11
33 Int_t LoStripX() const {return fLoStripX;}
35 Int_t LoDev() const {return fLoDev;}
36 /// Return Y strip in MT11
37 Int_t LoStripY() const {return fLoStripY;}
39 Int_t LoLpt() const {return fLoLpt;}
41 Int_t LoHpt() const {return fLoHpt;}
43 Int_t LoApt() const {return fLoApt;}
45 /// Return X strip pattern for chamber 11
46 UShort_t GetX1Pattern() const {return fX1Pattern;}
47 /// Return X strip pattern for chamber 12
48 UShort_t GetX2Pattern() const {return fX2Pattern;}
49 /// Return X strip pattern for chamber 21
50 UShort_t GetX3Pattern() const {return fX3Pattern;}
51 /// Return X strip pattern for chamber 22
52 UShort_t GetX4Pattern() const {return fX4Pattern;}
54 /// Return Y strip pattern for chamber 11
55 UShort_t GetY1Pattern() const {return fY1Pattern;}
56 /// Return Y strip pattern for chamber 12
57 UShort_t GetY2Pattern() const {return fY2Pattern;}
58 /// Return Y strip pattern for chamber 21
59 UShort_t GetY3Pattern() const {return fY3Pattern;}
60 /// Return Y strip pattern for chamber 22
61 UShort_t GetY4Pattern() const {return fY4Pattern;}
63 Char_t GetLoDecision();
67 /// Set Circuit number
68 void SetLoCircuit(Int_t loCir) {fLoCircuit = loCir;}
69 /// Set X strip in MT11
70 void SetLoStripX(Int_t loStrX) {fLoStripX = loStrX;}
72 void SetLoDev(Int_t loDev) {fLoDev = loDev;}
73 /// Set Y strip in MT11
74 void SetLoStripY(Int_t loStrY) {fLoStripY = loStrY;}
76 void SetLoLpt(Int_t loLpt) {fLoLpt = loLpt;}
78 void SetLoHpt(Int_t loHpt) {fLoHpt = loHpt;}
80 void SetLoApt(Int_t loApt) {fLoApt = loApt;}
82 /// Set X strip pattern for chamber 11
83 void SetX1Pattern(UShort_t pat) {fX1Pattern = pat;}
84 /// Set X strip pattern for chamber 12
85 void SetX2Pattern(UShort_t pat) {fX2Pattern = pat;}
86 /// Set X strip pattern for chamber 21
87 void SetX3Pattern(UShort_t pat) {fX3Pattern = pat;}
88 /// Set X strip pattern for chamber 22
89 void SetX4Pattern(UShort_t pat) {fX4Pattern = pat;}
91 /// Set Y strip pattern for chamber 11
92 void SetY1Pattern(UShort_t pat) {fY1Pattern = pat;}
93 /// Set Y strip pattern for chamber 12
94 void SetY2Pattern(UShort_t pat) {fY2Pattern = pat;}
95 /// Set Y strip pattern for chamber 21
96 void SetY3Pattern(UShort_t pat) {fY3Pattern = pat;}
97 /// Set Y strip pattern for chamber 22
98 void SetY4Pattern(UShort_t pat) {fY4Pattern = pat;}
100 void SetLocalStruct(Int_t loCircuit, AliMUONLocalStruct& localStruct);
104 /// Return number of digits in the list
105 Int_t NumberOfDigits() const { return fDigits.GetSize(); }
106 /// Return \a i th digit number in the list
107 Int_t GetDigitNumber(Int_t i) const { return fDigits[i]; }
108 void GetDigit(Int_t i, Int_t& chamber, Int_t& cathode, Int_t& digit) const;
110 static Int_t EncodeDigitNumber(Int_t chamber, Int_t cathode, Int_t digit);
111 static void DecodeDigitNumber(Int_t digitnumber, Int_t& chamber, Int_t& cathode, Int_t& digit);
113 void SetDigits(const TArrayI& digits) {fDigits = digits;}
115 virtual void Print(Option_t* opt="") const;
118 Int_t fLoCircuit; ///< Circuit number
119 Int_t fLoStripX; ///< X strip in MT11
120 Int_t fLoDev; ///< Deviation
121 Int_t fLoStripY; ///< Y strip in MT11
122 Int_t fLoLpt; ///< Low pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
123 Int_t fLoHpt; ///< High pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
124 Int_t fLoApt; ///< All pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
126 UShort_t fX1Pattern; ///< X strip pattern for chamber 11
127 UShort_t fX2Pattern; ///< X strip pattern for chamber 12
128 UShort_t fX3Pattern; ///< X strip pattern for chamber 21
129 UShort_t fX4Pattern; ///< X strip pattern for chamber 22
131 UShort_t fY1Pattern; ///< Y strip pattern for chamber 11
132 UShort_t fY2Pattern; ///< Y strip pattern for chamber 12
133 UShort_t fY3Pattern; ///< Y strip pattern for chamber 21
134 UShort_t fY4Pattern; ///< Y strip pattern for chamber 22
137 Char_t fLoDecision; ///< Local decision word (4 bits)
139 TArrayI fDigits; ///< List of digit numbers from which this object was created.
141 ClassDef(AliMUONLocalTrigger,2) // reconstructed Local Trigger object