]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIMUONLOCALTRIGGER_H | |
2 | #define ALIMUONLOCALTRIGGER_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | // Revision of includes 07/05/2004 | |
9 | ||
10 | /// \ingroup base | |
11 | /// \class AliMUONLocalTrigger | |
12 | /// \brief Reconstructed Local Trigger object | |
13 | /// \author Ph. Crochet | |
14 | ||
15 | #include <TObject.h> | |
16 | #include <TArrayI.h> | |
17 | ||
18 | class AliMUONLocalStruct; | |
19 | ||
20 | class AliMUONLocalTrigger : public TObject { | |
21 | public: | |
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); | |
27 | ||
28 | // getter methods | |
29 | Int_t LoCircuit() const {return fLoCircuit;} | |
30 | Int_t LoStripX() const {return fLoStripX;} | |
31 | Int_t LoDev() const {return fLoDev;} | |
32 | Int_t LoStripY() const {return fLoStripY;} | |
33 | Int_t LoLpt() const {return fLoLpt;} | |
34 | Int_t LoHpt() const {return fLoHpt;} | |
35 | Int_t LoApt() const {return fLoApt;} | |
36 | ||
37 | ||
38 | UShort_t GetX1Pattern() const {return fX1Pattern;} | |
39 | UShort_t GetX2Pattern() const {return fX2Pattern;} | |
40 | UShort_t GetX3Pattern() const {return fX3Pattern;} | |
41 | UShort_t GetX4Pattern() const {return fX4Pattern;} | |
42 | ||
43 | UShort_t GetY1Pattern() const {return fY1Pattern;} | |
44 | UShort_t GetY2Pattern() const {return fY2Pattern;} | |
45 | UShort_t GetY3Pattern() const {return fY3Pattern;} | |
46 | UShort_t GetY4Pattern() const {return fY4Pattern;} | |
47 | ||
48 | Char_t GetLoDecision(); | |
49 | ||
50 | // setter methods | |
51 | void SetLoCircuit(Int_t loCir) {fLoCircuit = loCir;} | |
52 | void SetLoStripX(Int_t loStrX) {fLoStripX = loStrX;} | |
53 | void SetLoDev(Int_t loDev) {fLoDev = loDev;} | |
54 | void SetLoStripY(Int_t loStrY) {fLoStripY = loStrY;} | |
55 | void SetLoLpt(Int_t loLpt) {fLoLpt = loLpt;} | |
56 | void SetLoHpt(Int_t loHpt) {fLoHpt = loHpt;} | |
57 | void SetLoApt(Int_t loApt) {fLoApt = loApt;} | |
58 | ||
59 | void SetX1Pattern(UShort_t pat) {fX1Pattern = pat;} | |
60 | void SetX2Pattern(UShort_t pat) {fX2Pattern = pat;} | |
61 | void SetX3Pattern(UShort_t pat) {fX3Pattern = pat;} | |
62 | void SetX4Pattern(UShort_t pat) {fX4Pattern = pat;} | |
63 | ||
64 | void SetY1Pattern(UShort_t pat) {fY1Pattern = pat;} | |
65 | void SetY2Pattern(UShort_t pat) {fY2Pattern = pat;} | |
66 | void SetY3Pattern(UShort_t pat) {fY3Pattern = pat;} | |
67 | void SetY4Pattern(UShort_t pat) {fY4Pattern = pat;} | |
68 | ||
69 | void SetLocalStruct(Int_t loCircuit, AliMUONLocalStruct& localStruct); | |
70 | ||
71 | // data link | |
72 | Int_t NumberOfDigits() const { return fDigits.GetSize(); } | |
73 | Int_t GetDigitNumber(Int_t i) const { return fDigits[i]; } | |
74 | void GetDigit(Int_t i, Int_t& chamber, Int_t& cathode, Int_t& digit) const; | |
75 | ||
76 | static Int_t EncodeDigitNumber(Int_t chamber, Int_t cathode, Int_t digit); | |
77 | static void DecodeDigitNumber(Int_t digitnumber, Int_t& chamber, Int_t& cathode, Int_t& digit); | |
78 | ||
79 | virtual void Print(Option_t* opt="") const; | |
80 | ||
81 | private: | |
82 | Int_t fLoCircuit; ///< Circuit number | |
83 | Int_t fLoStripX; ///< X strip in MT11 | |
84 | Int_t fLoDev; ///< Deviation | |
85 | Int_t fLoStripY; ///< Y strip in MT11 | |
86 | Int_t fLoLpt; ///< Low pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef | |
87 | Int_t fLoHpt; ///< High pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef | |
88 | Int_t fLoApt; ///< All pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef | |
89 | ||
90 | UShort_t fX1Pattern; ///< X strip pattern for chamber 11 | |
91 | UShort_t fX2Pattern; ///< X strip pattern for chamber 12 | |
92 | UShort_t fX3Pattern; ///< X strip pattern for chamber 21 | |
93 | UShort_t fX4Pattern; ///< X strip pattern for chamber 22 | |
94 | ||
95 | UShort_t fY1Pattern; ///< Y strip pattern for chamber 11 | |
96 | UShort_t fY2Pattern; ///< Y strip pattern for chamber 12 | |
97 | UShort_t fY3Pattern; ///< Y strip pattern for chamber 21 | |
98 | UShort_t fY4Pattern; ///< Y strip pattern for chamber 22 | |
99 | ||
100 | ||
101 | Char_t fLoDecision; ///< Local decision word (4 bits) | |
102 | ||
103 | TArrayI fDigits; ///< List of digit numbers from which this object was created. | |
104 | ||
105 | ClassDef(AliMUONLocalTrigger,2) // reconstructed Local Trigger object | |
106 | }; | |
107 | #endif | |
108 | ||
109 | ||
110 | ||
111 | ||
112 | ||
113 |