]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONTriggerTrack.h
new functionality and new class added
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerTrack.h
... / ...
CommitLineData
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#include <TMatrixD.h>
16#include <TMath.h>
17
18class AliMUONTrackReconstructor;
19
20class AliMUONTriggerTrack : public TObject
21{
22 public:
23 AliMUONTriggerTrack(); // Constructor
24 virtual ~AliMUONTriggerTrack(); // Destructor
25 AliMUONTriggerTrack (const AliMUONTriggerTrack& AliMUONTriggerTrack); // copy constructor
26 AliMUONTriggerTrack& operator=(const AliMUONTriggerTrack& AliMUONTriggerTrack); // assignment operator
27 AliMUONTriggerTrack(Float_t x11, Float_t y11, Float_t z11, Float_t z21,
28 Float_t slopeX, Float_t slopeY,
29 Int_t iloTrg, Long_t theGTPattern, UShort_t hitsPatternInTrigCh=0);
30
31 // getters
32
33 /// Return x position of fired Y strip in MC11
34 Float_t GetX11() const {return fx11;}
35 /// Return y position of fired X strip in MC11
36 Float_t GetY11() const {return fy11;}
37 /// Return z position of fired X strip in MC11
38 Float_t GetZ11() const {return fz11;}
39 /// Return z position of fired X strip in MC21
40 Float_t GetZ21() const {return fz21;}
41 /// Return track theta angle in X
42 Float_t GetThetax() const {return TMath::ATan(fSlopeX);}
43 /// Return track theta angle in Y
44 Float_t GetThetay() const {return TMath::ATan(fSlopeY);}
45 /// Return track slope in X
46 Float_t GetSlopeX() const {return fSlopeX;}
47 /// Return track slope in Y
48 Float_t GetSlopeY() const {return fSlopeY;}
49 /// Return local trigger number
50 Int_t GetLoTrgNum() const {return floTrgNum;}
51
52 // setters
53
54 /// Set x position of fired Y strip in MC11
55 void SetX11(Float_t x) {fx11 = x;}
56 /// Set y position of fired X strip in MC11
57 void SetY11(Float_t y) {fy11 = y;}
58 /// Set z position of fired X strip in MC11
59 void SetZ11(Float_t z) {fz11 = z;}
60 /// Set z position of fired X strip in MC21
61 void SetZ21(Float_t z) {fz21 = z;}
62 /// Set track slope in X
63 void SetSlopeX(Float_t slopeX) {fSlopeX = slopeX;}
64 /// Set track slope in Y
65 void SetSlopeY(Float_t slopeY) {fSlopeY = slopeY;}
66 /// Set local trigger number
67 void SetLoTrgNum(Int_t loTrgNum) {floTrgNum = loTrgNum;}
68
69 /// Set Global trigger pattern (do not work with static statement)
70 void SetGTPattern(UChar_t pat) {fGTPattern = pat;}
71 /// Return Global trigger pattern (do not work with static statement)
72 UChar_t GetGTPattern() const {return fGTPattern;}
73
74 /// set word telling which trigger chambers where hit by track
75 UShort_t GetHitsPatternInTrigCh() const {return fHitsPatternInTrigCh;}
76 /// set word telling which trigger chambers where hit by track
77 void SetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh) {fHitsPatternInTrigCh = hitsPatternInTrigCh;}
78
79 virtual void Print(Option_t* opt="FULL") const;
80
81 const TMatrixD& GetCovariances() const;
82 void SetCovariances(const TMatrixD& covariances);
83 void SetCovariances(const Double_t matrix[3][3]);
84
85protected:
86 private:
87 Float_t fx11; ///< x position of fired Y strip in MC11
88 Float_t fy11; ///< y position of fired X strip in MC11
89 Float_t fz11; ///< z position of fired X strip in MC11
90 Float_t fz21; ///< z position of fired X strip in MC21
91 Float_t fSlopeX; ///< track slope in X
92 Float_t fSlopeY; ///< track slope in Y
93 Int_t floTrgNum; ///< local trigger number
94 UChar_t fGTPattern; ///< Global trigger pattern (do not work with static statement)
95 UShort_t fHitsPatternInTrigCh; ///< Word containing info on the hits left in trigger chambers
96 mutable TMatrixD *fCovariances; ///< Covariance matrix of track parameters
97
98 ClassDef(AliMUONTriggerTrack, 6) // Reconstructed trigger track in ALICE dimuon spectrometer
99 };
100
101#endif
102