Main changes:
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerTrack.h
1 #ifndef ALIMUONTRIGGERTRACK_H
2 #define ALIMUONTRIGGERTRACK_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 // Revision of includes 07/05/2004
8
9 /// \ingroup rec
10 /// \class AliMUONTriggerTrack
11 /// \brief Reconstructed trigger track in ALICE dimuon spectrometer
12 /// \author Philippe Crochet
13
14 #include <TObject.h>
15
16 class AliMUONTrackReconstructor;
17
18 class AliMUONTriggerTrack : public TObject 
19 {
20  public:
21     AliMUONTriggerTrack(); // Constructor
22     virtual ~AliMUONTriggerTrack(); // Destructor
23     AliMUONTriggerTrack (const AliMUONTriggerTrack& AliMUONTriggerTrack); // copy constructor
24     AliMUONTriggerTrack& operator=(const AliMUONTriggerTrack& AliMUONTriggerTrack); // assignment operator
25     AliMUONTriggerTrack(Float_t x11, Float_t y11, Float_t thetax, Float_t thetay,
26                         Int_t iloTrg, Long_t theGTPattern, UShort_t hitsPatternInTrigCh=0); 
27     
28     // getters
29     
30     /// Return x position of fired Y strip in MC11
31     Float_t GetX11()    const {return fx11;}
32     /// Return y position of fired X strip in MC11
33     Float_t GetY11()    const {return fy11;}
34     /// Return track theta angle in X 
35     Float_t GetThetax() const {return fthetax;}
36     /// Return track theta angle in Y
37     Float_t GetThetay() const {return fthetay;}
38     /// Return local trigger number
39     Int_t   GetLoTrgNum() const {return floTrgNum;}    
40
41     // setters
42     
43     /// Set x position of fired Y strip in MC11
44     void SetX11(Float_t x)     {fx11 = x;}
45     /// Set y position of fired X strip in MC11
46     void SetY11(Float_t y)     {fy11 = y;}
47     /// Set track theta angle in X 
48     void SetThetax(Float_t tx) {fthetax = tx;}
49     /// Set track theta angle in Y
50     void SetThetay(Float_t ty) {fthetay = ty;}
51     /// Set local trigger number
52     void SetLoTrgNum(Int_t loTrgNum) {floTrgNum = loTrgNum;}    
53
54     /// Set Global trigger pattern  (do not work with static statement) 
55     void SetGTPattern(UChar_t pat) {fGTPattern = pat;}    
56     /// Return Global trigger pattern  (do not work with static statement) 
57     UChar_t GetGTPattern() const {return fGTPattern;}
58
59     /// set word telling which trigger chambers where hit by track
60     UShort_t GetHitsPatternInTrigCh() const {return fHitsPatternInTrigCh;}
61     /// set word telling which trigger chambers where hit by track
62     void     SetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh) {fHitsPatternInTrigCh = hitsPatternInTrigCh;}
63     
64     virtual void Print(Option_t* opt="") const;
65     
66 protected:
67   private:
68   Float_t fx11;    ///< x position of fired Y strip in MC11
69   Float_t fy11;    ///< y position of fired X strip in MC11
70   Float_t fthetax; ///< track theta angle in X   
71   Float_t fthetay; ///< track theta angle in Y
72   Int_t   floTrgNum; ///< local trigger number
73   UChar_t fGTPattern; ///< Global trigger pattern  (do not work with static statement)
74   UShort_t fHitsPatternInTrigCh; ///< Word containing info on the hits left in trigger chambers
75
76   ClassDef(AliMUONTriggerTrack, 5) // Reconstructed trigger track in ALICE dimuon spectrometer
77     };
78         
79 #endif
80