]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONRecoTrack.h
Do not update AMORE pool with an empty object
[u/mrichter/AliRoot.git] / MUON / AliMUONRecoTrack.h
1 #ifndef ALI_MUON_RECO_TRACK_H
2 #define ALI_MUON_RECO_TRACK_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 /// \ingroup rec
10 /// \class AliMUONRecoTrack
11 /// \brief A reconstructed muon track
12 ///
13 //  Author: M.Gheata, A.Gheata 09/10/00
14
15 #include <TObject.h>
16 #include <TMath.h>
17
18 class AliMUONRecoTrack : public TObject 
19 {
20   public:
21     AliMUONRecoTrack();
22     AliMUONRecoTrack(Bool_t active);
23     virtual        ~AliMUONRecoTrack();
24
25     /// Return chi squared for reco. track
26     Double_t GetChi2r() const {return fChi2r;};
27     /// Return reconstr. momentum (same as in vertex)
28     Double_t GetMomReconstr(Int_t axis) const {return fPr[axis];};
29     /// Return charge sign
30     Int_t    GetSign() const {return fSign;};
31     /// Return hit X position in all chambers
32     Double_t GetPosX(Int_t chamber) const {return fPosX[chamber];};
33     /// Return hit Y position in all chambers
34     Double_t GetPosY(Int_t chamber) const {return fPosY[chamber];};
35     /// Return hit Z position in all chambers
36     Double_t GetPosZ(Int_t chamber) const {return fPosZ[chamber];};
37     /// Return z of track vertex point
38     Double_t GetVertexPos() const { return fZvr;};
39     /// \todo add comment
40     Double_t P() const {return TMath::Sqrt(fPr[0]*fPr[0] + fPr[1]*fPr[1] + fPr[2]*fPr[2]);};
41     Double_t Phi() const;
42     
43     /// Set chi squared for reco. track
44     void           SetChi2r(Double_t chi) { fChi2r = chi;};
45     void           SetHitPosition(Int_t chamber, Double_t x, Double_t y, Double_t z);
46     void           SetMomReconstr(Double_t px, Double_t py, Double_t pz);
47     /// Set charge sign
48     void           SetSign(Int_t sign) {fSign = sign;};
49     /// Set z of track vertex point
50     void           SetVertexPos(Double_t zvr) {fZvr = zvr;};
51     /// Set flag of reconstructed track (0-"good", >0-"bad")
52     void           SetFlag(Int_t flag)  {fFlag = flag;};
53
54     Double_t Theta() const;
55     void TrackInfo() const;
56
57   private:
58     Int_t       fSign;                  ///< charge sign
59     Int_t       fFlag;                  ///< flag of reconstructed track (0-"good", >0-"bad") 
60     Double_t    fZvr;                   ///< z of track vertex point
61     Double_t    fChi2r;                 ///< chi squared for reco. track
62     Double_t    fPr[3];                 ///< reconstr. momentum (same as in vertex)
63     Double_t    fPosX[10];              ///< hit X position in all chambers
64     Double_t    fPosY[10];              ///< hit Y position in all chambers    
65     Double_t    fPosZ[10];              ///< hit Z position in all chambers
66
67   ClassDef(AliMUONRecoTrack,1)  // A reconstructed muon track
68 };
69
70 #endif