ed95467142b9cac6d14e8b44bfc59134ec489e0b
[u/mrichter/AliRoot.git] / MUON / AliMUONLocalTrigger.h
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
17 class AliMUONLocalStruct;
18
19 class AliMUONLocalTrigger : public TObject {
20  public:
21   AliMUONLocalTrigger();
22   AliMUONLocalTrigger(const AliMUONLocalTrigger& rhs); // copy constructor !
23   virtual ~AliMUONLocalTrigger();
24   AliMUONLocalTrigger& operator=(const AliMUONLocalTrigger& rhs); 
25
26   // getter methods
27   //
28         /// Return Circuit number
29   Int_t LoCircuit() const {return fLoCircuit;}
30         /// Return X strip in MT11
31   Int_t LoStripX() const {return fLoStripX;}   
32         /// Return Deviation
33   Int_t LoDev() const {return fLoDev;}
34         /// Return Y strip in MT11
35   Int_t LoStripY() const {return fLoStripY;}
36         /// Return Low pt
37   Int_t LoLpt() const {return fLoLpt;}
38         /// Return High p
39   Int_t LoHpt() const {return fLoHpt;}
40
41            /// Return X strip pattern for chamber 11
42   UShort_t GetX1Pattern() const {return fX1Pattern;}
43            /// Return X strip pattern for chamber 12  
44   UShort_t GetX2Pattern() const {return fX2Pattern;}
45            /// Return X strip pattern for chamber 21 
46   UShort_t GetX3Pattern() const {return fX3Pattern;}
47            /// Return X strip pattern for chamber 22
48   UShort_t GetX4Pattern() const {return fX4Pattern;}
49
50            /// Return Y strip pattern for chamber 11 
51   UShort_t GetY1Pattern() const {return fY1Pattern;}
52            /// Return Y strip pattern for chamber 12
53   UShort_t GetY2Pattern() const {return fY2Pattern;}
54            /// Return Y strip pattern for chamber 21
55   UShort_t GetY3Pattern() const {return fY3Pattern;}
56            /// Return Y strip pattern for chamber 22
57   UShort_t GetY4Pattern() const {return fY4Pattern;}
58
59   Char_t GetLoDecision();
60
61   // setter methods
62   //
63            /// Set Circuit number
64   void SetLoCircuit(Int_t loCir) {fLoCircuit = loCir;}
65            /// Set X strip in MT11
66   void SetLoStripX(Int_t loStrX) {fLoStripX = loStrX;}   
67            /// Set Deviation
68   void SetLoDev(Int_t loDev)     {fLoDev = loDev;}
69            /// Set Y strip in MT11
70   void SetLoStripY(Int_t loStrY) {fLoStripY = loStrY;}
71            /// Set Low pt
72   void SetLoLpt(Int_t loLpt)     {fLoLpt = loLpt;}
73            /// Set High pt
74   void SetLoHpt(Int_t loHpt)     {fLoHpt = loHpt;}
75    
76            /// Set X strip pattern for chamber 11
77   void SetX1Pattern(UShort_t pat) {fX1Pattern = pat;}
78            /// Set X strip pattern for chamber 12
79   void SetX2Pattern(UShort_t pat) {fX2Pattern = pat;}
80            /// Set X strip pattern for chamber 21
81   void SetX3Pattern(UShort_t pat) {fX3Pattern = pat;}
82            /// Set X strip pattern for chamber 22
83   void SetX4Pattern(UShort_t pat) {fX4Pattern = pat;}
84
85            /// Set Y strip pattern for chamber 11
86   void SetY1Pattern(UShort_t pat) {fY1Pattern = pat;}
87            /// Set Y strip pattern for chamber 12
88   void SetY2Pattern(UShort_t pat) {fY2Pattern = pat;}
89            /// Set Y strip pattern for chamber 21
90   void SetY3Pattern(UShort_t pat) {fY3Pattern = pat;}
91            /// Set Y strip pattern for chamber 22
92   void SetY4Pattern(UShort_t pat) {fY4Pattern = pat;}
93
94   void SetLocalStruct(Int_t loCircuit, AliMUONLocalStruct& localStruct);
95
96
97   virtual void Print(Option_t* opt="") const;
98   
99 private:
100   Int_t fLoCircuit; ///< Circuit number 
101   Int_t fLoStripX;  ///< X strip in MT11 
102   Int_t fLoDev;     ///< Deviation 
103   Int_t fLoStripY;  ///< Y strip in MT11 
104   Int_t fLoLpt;     ///< Low pt  0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
105   Int_t fLoHpt;     ///< High pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
106   
107   UShort_t fX1Pattern; ///< X strip pattern for chamber 11
108   UShort_t fX2Pattern; ///< X strip pattern for chamber 12
109   UShort_t fX3Pattern; ///< X strip pattern for chamber 21
110   UShort_t fX4Pattern; ///< X strip pattern for chamber 22
111
112   UShort_t fY1Pattern; ///< Y strip pattern for chamber 11
113   UShort_t fY2Pattern; ///< Y strip pattern for chamber 12
114   UShort_t fY3Pattern; ///< Y strip pattern for chamber 21
115   UShort_t fY4Pattern; ///< Y strip pattern for chamber 22
116
117
118   Char_t fLoDecision; ///< Local decision word (4 bits)
119
120   ClassDef(AliMUONLocalTrigger,3)  // reconstructed Local Trigger object
121 };
122 #endif
123
124
125
126
127
128