]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliESDMuonTrack.h
Two new classes added (Marian)
[u/mrichter/AliRoot.git] / STEER / AliESDMuonTrack.h
1 #ifndef ALIESDMUONTRACK_H
2 #define ALIESDMUONTRACK_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
9 //  Class to describe the MUON tracks
10 //  in the Event Summary Data class
11 //  Author: G.Martinez
12
13
14 #include "TObject.h"
15
16 class TLorentzVector;
17
18 class AliESDMuonTrack : public TObject {
19 public:
20   AliESDMuonTrack(); //Constructor
21   virtual ~AliESDMuonTrack(){} // Destructor
22   AliESDMuonTrack(const AliESDMuonTrack& esdm);
23   AliESDMuonTrack& operator=(const AliESDMuonTrack& esdm);
24
25
26  // Get and Set methods for data at vertex
27   Double_t GetInverseBendingMomentum(void) const {return fInverseBendingMomentum;}
28   void     SetInverseBendingMomentum(Double_t InverseBendingMomentum) 
29                 {fInverseBendingMomentum = InverseBendingMomentum;}
30   Double_t GetThetaX(void) const {return fThetaX;}
31   void     SetThetaX(Double_t ThetaX) {fThetaX = ThetaX;}
32   Double_t GetThetaY(void) const {return fThetaY;}
33   void     SetThetaY(Double_t ThetaY) {fThetaY = ThetaY;}
34   Double_t GetZ(void) const {return fZ;}
35   void     SetZ(Double_t Z) {fZ = Z;}
36   Double_t GetBendingCoor(void) const {return fBendingCoor;}
37   void     SetBendingCoor(Double_t BendingCoor) {fBendingCoor = BendingCoor;}
38   Double_t GetNonBendingCoor(void) const {return fNonBendingCoor;}
39   void     SetNonBendingCoor(Double_t NonBendingCoor) {fNonBendingCoor = NonBendingCoor;}
40   
41  // Get and Set methods for data at first station
42   Double_t GetInverseBendingMomentumUncorrected(void) const {return fInverseBendingMomentumUncorrected;}
43   void     SetInverseBendingMomentumUncorrected(Double_t InverseBendingMomentum) 
44                 {fInverseBendingMomentumUncorrected = InverseBendingMomentum;}
45   Double_t GetThetaXUncorrected(void) const {return fThetaXUncorrected;}
46   void     SetThetaXUncorrected(Double_t ThetaX) {fThetaXUncorrected = ThetaX;}
47   Double_t GetThetaYUncorrected(void) const {return fThetaYUncorrected;}
48   void     SetThetaYUncorrected(Double_t ThetaY) {fThetaYUncorrected = ThetaY;}
49   Double_t GetZUncorrected(void) const {return fZUncorrected;}
50   void     SetZUncorrected(Double_t Z) {fZUncorrected = Z;}
51   Double_t GetBendingCoorUncorrected(void) const {return fBendingCoorUncorrected;}
52   void     SetBendingCoorUncorrected(Double_t BendingCoor) {fBendingCoorUncorrected = BendingCoor;}
53   Double_t GetNonBendingCoorUncorrected(void) const {return fNonBendingCoorUncorrected;}
54   void     SetNonBendingCoorUncorrected(Double_t NonBendingCoor) {fNonBendingCoorUncorrected = NonBendingCoor;}
55   
56  // Get and Set methods for global tracking info
57   Double_t GetChi2(void) const {return fChi2;}
58   void     SetChi2(Double_t Chi2) {fChi2 = Chi2;}
59   UInt_t   GetNHit(void) const {return fNHit;}
60   void     SetNHit(UInt_t NHit) {fNHit = NHit;}
61
62  // Get and Set methods for trigger matching
63   Bool_t   GetMatchTrigger() const {return fMatchTrigger;}
64   void     SetMatchTrigger(Bool_t MatchTrigger) {fMatchTrigger = MatchTrigger;}
65   Double_t GetChi2MatchTrigger() const {return fChi2MatchTrigger;}
66   void     SetChi2MatchTrigger(Double_t Chi2MatchTrigger) {fChi2MatchTrigger = Chi2MatchTrigger;}
67   
68  // Methods to compute track momentum
69   Double_t Px() const;
70   Double_t Py() const;
71   Double_t Pz() const;
72   Double_t P() const;
73   void     LorentzP(TLorentzVector& vP) const;
74   Double_t PxUncorrected() const;
75   Double_t PyUncorrected() const;
76   Double_t PzUncorrected() const;
77   Double_t PUncorrected() const;
78   void     LorentzPUncorrected(TLorentzVector& vP) const;
79   
80   
81 protected:
82  // parameters at vertex
83   Double_t fInverseBendingMomentum; // Inverse bending momentum (GeV/c ** -1) times the charge 
84   Double_t fThetaX;                 // Angle of track at vertex in X direction (rad)
85   Double_t fThetaY;                 // Angle of track at vertex in Y direction (rad)
86   Double_t fZ;                      // Z coordinate (cm)
87   Double_t fBendingCoor;            // bending coordinate (cm)
88   Double_t fNonBendingCoor;         // non bending coordinate (cm)
89   
90  // parameters at first tracking station
91   Double_t fInverseBendingMomentumUncorrected; // Inverse bending momentum (GeV/c ** -1) times the charge 
92   Double_t fThetaXUncorrected;                 // Angle of track at vertex in X direction (rad)
93   Double_t fThetaYUncorrected;                 // Angle of track at vertex in Y direction (rad)
94   Double_t fZUncorrected;                      // Z coordinate (cm)
95   Double_t fBendingCoorUncorrected;            // bending coordinate (cm)
96   Double_t fNonBendingCoorUncorrected;         // non bending coordinate (cm)
97   
98  // global tracking info
99   Double_t fChi2; // chi2 in the MUON track fit
100   UInt_t   fNHit; // number of hit in the track
101
102  // trigger matching
103   Bool_t   fMatchTrigger;     // 1 if track matches with trigger track, 0 if not
104   Double_t fChi2MatchTrigger; // chi2 of trigger/track matching 
105
106
107   ClassDef(AliESDMuonTrack,3)  //MUON ESD track class 
108 };
109
110 #endif