]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONLocalTrigger.h
fix memory leak and funny multiplicity
[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 trigger
11 /// \class AliMUONLocalTrigger
12 /// \brief Reconstructed Local Trigger object
13 //  Author Ph. Crochet
14
15 #include <TObject.h>
16
17 class AliMUONLocalStruct;
18 class TArrayS;
19
20 class AliMUONLocalTrigger : public TObject {
21  public:
22   AliMUONLocalTrigger();
23   AliMUONLocalTrigger(const AliMUONLocalTrigger& rhs); // copy constructor !
24   virtual ~AliMUONLocalTrigger();
25   AliMUONLocalTrigger& operator=(const AliMUONLocalTrigger& rhs); 
26
27   // getter methods
28   //
29         /// Return Circuit number
30   Int_t LoCircuit() const {return fLoCircuit;}
31         /// Return X strip in MT11
32   Int_t LoStripX() const {return fLoStripX;}   
33         /// Return Deviation
34   Int_t LoDev() const {return fLoDev;}
35         /// Return Sign of Deviation
36   Int_t LoSdev() const {return fLoSdev;}
37         /// Return Trig Y
38   Int_t LoTrigY() const {return fLoTrigY;}
39         /// Return Y strip in MT11
40   Int_t LoStripY() const {return fLoStripY;}
41         /// Return Low pt
42   Int_t LoLpt() const {return fLoLpt;}
43         /// Return High p
44   Int_t LoHpt() const {return fLoHpt;}
45
46            /// Return X strip pattern for chamber 11
47   UShort_t GetX1Pattern() const {return fX1Pattern;}
48            /// Return X strip pattern for chamber 12  
49   UShort_t GetX2Pattern() const {return fX2Pattern;}
50            /// Return X strip pattern for chamber 21 
51   UShort_t GetX3Pattern() const {return fX3Pattern;}
52            /// Return X strip pattern for chamber 22
53   UShort_t GetX4Pattern() const {return fX4Pattern;}
54            /// return X pattern array
55    void    GetXPattern(TArrayS& array) const;
56
57
58            /// Return Y strip pattern for chamber 11 
59   UShort_t GetY1Pattern() const {return fY1Pattern;}
60            /// Return Y strip pattern for chamber 12
61   UShort_t GetY2Pattern() const {return fY2Pattern;}
62            /// Return Y strip pattern for chamber 21
63   UShort_t GetY3Pattern() const {return fY3Pattern;}
64            /// Return Y strip pattern for chamber 22
65   UShort_t GetY4Pattern() const {return fY4Pattern;}
66            /// return Y pattern array
67    void    GetYPattern(TArrayS& array) const;
68
69   Char_t GetLoDecision() const;
70   
71   Int_t GetDeviation() const;
72   void  SetDeviation(Int_t deviation);
73
74   /// Trigger response X strips
75   Bool_t IsTrigX();
76   /// Trigger response Y strips
77   Bool_t IsTrigY();
78
79   // setter methods
80   //
81            /// Set Circuit number
82   void SetLoCircuit(Int_t loCir) {fLoCircuit = loCir;}
83            /// Set X strip in MT11
84   void SetLoStripX(Int_t loStrX) {fLoStripX = loStrX;}   
85            /// Set Deviation
86   void SetLoDev(Int_t loDev)     {fLoDev = loDev;}
87              /// Set Sign of Deviation
88   void SetLoSdev(Int_t loSdev)   {fLoSdev = loSdev;}
89            /// Set Trig Y
90   void SetLoTrigY(Int_t loTrigY) {fLoTrigY = loTrigY;}
91            /// Set Y strip in MT11
92   void SetLoStripY(Int_t loStrY) {fLoStripY = loStrY;}
93            /// Set Low pt
94   void SetLoLpt(Int_t loLpt)     {fLoLpt = loLpt;}
95            /// Set High pt
96   void SetLoHpt(Int_t loHpt)     {fLoHpt = loHpt;}
97    
98            /// Set X strip pattern for chamber 11
99   void SetX1Pattern(UShort_t pat) {fX1Pattern = pat;}
100            /// Set X strip pattern for chamber 12
101   void SetX2Pattern(UShort_t pat) {fX2Pattern = pat;}
102            /// Set X strip pattern for chamber 21
103   void SetX3Pattern(UShort_t pat) {fX3Pattern = pat;}
104            /// Set X strip pattern for chamber 22
105   void SetX4Pattern(UShort_t pat) {fX4Pattern = pat;}
106
107            /// Set Y strip pattern for chamber 11
108   void SetY1Pattern(UShort_t pat) {fY1Pattern = pat;}
109            /// Set Y strip pattern for chamber 12
110   void SetY2Pattern(UShort_t pat) {fY2Pattern = pat;}
111            /// Set Y strip pattern for chamber 21
112   void SetY3Pattern(UShort_t pat) {fY3Pattern = pat;}
113            /// Set Y strip pattern for chamber 22
114   void SetY4Pattern(UShort_t pat) {fY4Pattern = pat;}
115
116   void SetLocalStruct(Int_t loCircuit, AliMUONLocalStruct& localStruct);
117
118   Bool_t IsNull() const;
119   
120   virtual void Print(Option_t* opt="") const;
121   
122   virtual const char* GetName() const;
123   
124 private:
125   Int_t fLoCircuit; ///< Circuit number 
126   Int_t fLoStripX;  ///< X strip in MT11 
127   Int_t fLoDev;     ///< Deviation
128   Int_t fLoSdev;    ///< Sign of Deviation 
129   Int_t fLoTrigY;   ///< Trig Y
130   Int_t fLoStripY;  ///< Y strip in MT11 
131   Int_t fLoLpt;     ///< Low pt  0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
132   Int_t fLoHpt;     ///< High pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
133   
134   UShort_t fX1Pattern; ///< X strip pattern for chamber 11
135   UShort_t fX2Pattern; ///< X strip pattern for chamber 12
136   UShort_t fX3Pattern; ///< X strip pattern for chamber 21
137   UShort_t fX4Pattern; ///< X strip pattern for chamber 22
138
139   UShort_t fY1Pattern; ///< Y strip pattern for chamber 11
140   UShort_t fY2Pattern; ///< Y strip pattern for chamber 12
141   UShort_t fY3Pattern; ///< Y strip pattern for chamber 21
142   UShort_t fY4Pattern; ///< Y strip pattern for chamber 22
143
144   ClassDef(AliMUONLocalTrigger,4)  // reconstructed Local Trigger object
145 };
146 #endif
147
148
149
150
151
152