]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliESDMuonTrack.h
Copy constructor was accidentally commented out
[u/mrichter/AliRoot.git] / STEER / AliESDMuonTrack.h
CommitLineData
672b5f43 1#ifndef ALIESDMUONTRACK_H
2#define ALIESDMUONTRACK_H
3
af7ba10c 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
ad85871a 14#include <TMath.h>
15
16#include "AliVParticle.h"
672b5f43 17
39b8d0dd 18class TLorentzVector;
19
ad85871a 20class AliESDMuonTrack : public AliVParticle {
5ec1b3bc 21public:
90e48c0c 22 AliESDMuonTrack(); //Constructor
af7ba10c 23 virtual ~AliESDMuonTrack(){} // Destructor
24 AliESDMuonTrack(const AliESDMuonTrack& esdm);
25 AliESDMuonTrack& operator=(const AliESDMuonTrack& esdm);
5ec1b3bc 26
27
39b8d0dd 28 // Get and Set methods for data at vertex
5ec1b3bc 29 Double_t GetInverseBendingMomentum(void) const {return fInverseBendingMomentum;}
39b8d0dd 30 void SetInverseBendingMomentum(Double_t InverseBendingMomentum)
31 {fInverseBendingMomentum = InverseBendingMomentum;}
5ec1b3bc 32 Double_t GetThetaX(void) const {return fThetaX;}
39b8d0dd 33 void SetThetaX(Double_t ThetaX) {fThetaX = ThetaX;}
5ec1b3bc 34 Double_t GetThetaY(void) const {return fThetaY;}
39b8d0dd 35 void SetThetaY(Double_t ThetaY) {fThetaY = ThetaY;}
5ec1b3bc 36 Double_t GetZ(void) const {return fZ;}
39b8d0dd 37 void SetZ(Double_t Z) {fZ = Z;}
5ec1b3bc 38 Double_t GetBendingCoor(void) const {return fBendingCoor;}
39b8d0dd 39 void SetBendingCoor(Double_t BendingCoor) {fBendingCoor = BendingCoor;}
5ec1b3bc 40 Double_t GetNonBendingCoor(void) const {return fNonBendingCoor;}
39b8d0dd 41 void SetNonBendingCoor(Double_t NonBendingCoor) {fNonBendingCoor = NonBendingCoor;}
42
43 // Get and Set methods for data at first station
44 Double_t GetInverseBendingMomentumUncorrected(void) const {return fInverseBendingMomentumUncorrected;}
45 void SetInverseBendingMomentumUncorrected(Double_t InverseBendingMomentum)
46 {fInverseBendingMomentumUncorrected = InverseBendingMomentum;}
47 Double_t GetThetaXUncorrected(void) const {return fThetaXUncorrected;}
48 void SetThetaXUncorrected(Double_t ThetaX) {fThetaXUncorrected = ThetaX;}
49 Double_t GetThetaYUncorrected(void) const {return fThetaYUncorrected;}
50 void SetThetaYUncorrected(Double_t ThetaY) {fThetaYUncorrected = ThetaY;}
51 Double_t GetZUncorrected(void) const {return fZUncorrected;}
52 void SetZUncorrected(Double_t Z) {fZUncorrected = Z;}
53 Double_t GetBendingCoorUncorrected(void) const {return fBendingCoorUncorrected;}
54 void SetBendingCoorUncorrected(Double_t BendingCoor) {fBendingCoorUncorrected = BendingCoor;}
55 Double_t GetNonBendingCoorUncorrected(void) const {return fNonBendingCoorUncorrected;}
56 void SetNonBendingCoorUncorrected(Double_t NonBendingCoor) {fNonBendingCoorUncorrected = NonBendingCoor;}
57
58 // Get and Set methods for global tracking info
5ec1b3bc 59 Double_t GetChi2(void) const {return fChi2;}
39b8d0dd 60 void SetChi2(Double_t Chi2) {fChi2 = Chi2;}
61 UInt_t GetNHit(void) const {return fNHit;}
62 void SetNHit(UInt_t NHit) {fNHit = NHit;}
5ec1b3bc 63
39b8d0dd 64 // Get and Set methods for trigger matching
423b32ca 65 Int_t GetMatchTrigger() const;
8252d536 66 Double_t GetChi2MatchTrigger() const {return fChi2MatchTrigger;}
39b8d0dd 67 void SetChi2MatchTrigger(Double_t Chi2MatchTrigger) {fChi2MatchTrigger = Chi2MatchTrigger;}
fbc3395d 68 UShort_t GetHitsPatternInTrigCh() const {return fHitsPatternInTrigCh;}
69 void SetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh) {fHitsPatternInTrigCh = hitsPatternInTrigCh;}
423b32ca 70 void SetLocalTrigger(Int_t locTrig) { fLocalTrigger = locTrig; }
71 Int_t LoCircuit(void) const
72 { Int_t circ = fLocalTrigger & 0xFF; return (circ == 234) ? -1 : circ; }
73 Int_t LoStripX(void) const { return fLocalTrigger >> 8 & 0x1F; }
74 Int_t LoStripY(void) const { return fLocalTrigger >> 13 & 0x0F; }
75 Int_t LoDev(void) const { return fLocalTrigger >> 17 & 0x1F; }
76 Int_t LoLpt(void) const { return fLocalTrigger >> 22 & 0x03; }
77 Int_t LoHpt(void) const { return fLocalTrigger >> 24 & 0x03; }
39b8d0dd 78
79 // Methods to compute track momentum
80 Double_t Px() const;
81 Double_t Py() const;
82 Double_t Pz() const;
83 Double_t P() const;
84 void LorentzP(TLorentzVector& vP) const;
85 Double_t PxUncorrected() const;
86 Double_t PyUncorrected() const;
87 Double_t PzUncorrected() const;
88 Double_t PUncorrected() const;
89 void LorentzPUncorrected(TLorentzVector& vP) const;
90
ad85871a 91 // additional methods to comply with AliVParticle
92 Double_t Pt() const { return TMath::Sqrt(Px()*Px() + Py()*Py()); }
93 Double_t OneOverPt() const { return 1./Pt(); }
94 Double_t Phi() const { return TMath::ATan2(Py(), Px()); }
95 Double_t Theta() const { return TMath::ATan2(Pt(), Pz()); }
96 Double_t E() const { return -999.; }
97 Double_t M() const { return -999.; }
98 Double_t Eta() const { return -TMath::Log(TMath::Tan(0.5 * Theta()));}
99 Double_t Y() const { return -999.; }
100 Short_t Charge() const { return (Short_t)TMath::Sign(1., GetInverseBendingMomentum()); }
101 const Double_t *PID() const { return (Double_t*)0x0; }
102
39b8d0dd 103
5ec1b3bc 104protected:
39b8d0dd 105 // parameters at vertex
61402fa9 106 Double32_t fInverseBendingMomentum; // Inverse bending momentum (GeV/c ** -1) times the charge
107 Double32_t fThetaX; // Angle of track at vertex in X direction (rad)
108 Double32_t fThetaY; // Angle of track at vertex in Y direction (rad)
109 Double32_t fZ; // Z coordinate (cm)
110 Double32_t fBendingCoor; // bending coordinate (cm)
111 Double32_t fNonBendingCoor; // non bending coordinate (cm)
39b8d0dd 112
113 // parameters at first tracking station
61402fa9 114 Double32_t fInverseBendingMomentumUncorrected; // Inverse bending momentum (GeV/c ** -1) times the charge
115 Double32_t fThetaXUncorrected; // Angle of track at vertex in X direction (rad)
116 Double32_t fThetaYUncorrected; // Angle of track at vertex in Y direction (rad)
117 Double32_t fZUncorrected; // Z coordinate (cm)
118 Double32_t fBendingCoorUncorrected; // bending coordinate (cm)
119 Double32_t fNonBendingCoorUncorrected; // non bending coordinate (cm)
39b8d0dd 120
121 // global tracking info
61402fa9 122 Double32_t fChi2; // chi2 in the MUON track fit
39b8d0dd 123 UInt_t fNHit; // number of hit in the track
5ec1b3bc 124
423b32ca 125 Int_t fLocalTrigger; ///< packed local trigger information
126
61402fa9 127 Double32_t fChi2MatchTrigger; // chi2 of trigger/track matching
fbc3395d 128
129 UShort_t fHitsPatternInTrigCh; ///< Word containing info on the hits left in trigger chambers
5ec1b3bc 130
61402fa9 131
ad85871a 132 ClassDef(AliESDMuonTrack,6) //MUON ESD track class
672b5f43 133};
134
135#endif