Line data Source code
1 : #ifndef AliMFTTrack_H
2 : #define AliMFTTrack_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : /// \ingroup MFTrec
8 : /// \class AliMFTTrack
9 : /// \brief Description of an ALICE Standalone MFT track
10 : ///
11 : ///
12 : /// Description of an ALICE Standalone MFT track
13 : ///
14 : /// \author Raphael Tieulent <raphael.tieulent@cern.ch>, IPN-Lyon
15 : /// \date April 27th, 2015
16 :
17 : #include "TObject.h"
18 : class TObjArray;
19 : class AliMFTCATrack;
20 : class AliMFTTrackParam;
21 :
22 : //=============================================================================================
23 :
24 : class AliMFTTrack : public TObject {
25 :
26 : public:
27 :
28 : AliMFTTrack();
29 : AliMFTTrack(AliMFTCATrack *catrack);
30 : virtual ~AliMFTTrack();
31 : AliMFTTrack (const AliMFTTrack& track); // copy constructor
32 : AliMFTTrack& operator=(const AliMFTTrack& track); // assignment operator
33 :
34 : /// return the minimum value of the function minimized by the fit
35 0 : Double_t GetChi2() const {return fChi2;}
36 : /// set the minimum value of the function minimized by the fit
37 0 : void SetChi2(Double_t chi2) { fChi2 = chi2;}
38 : Int_t GetNDF() const;
39 : Double_t GetNormalizedChi2() const;
40 :
41 : /// return pointer to track parameters at vertex (can be 0x0)
42 0 : AliMFTTrackParam* GetTrackParamAtVertex() const {return fTrackParamAtVertex;}
43 0 : void SetTrackParamAtVertex( AliMFTTrackParam* trackParam){};
44 :
45 : /// return the number of clusters attached to the track
46 0 : Int_t GetNClusters() const {return fTrackParamAtCluster ? fTrackParamAtCluster->GetEntriesFast() : 0;}
47 :
48 :
49 : /// return pointer to track found by Track Finder (includes clusters)
50 0 : AliMFTCATrack* GetCATrack() const {return fCATrack;}
51 0 : void SetCATrack( AliMFTCATrack* track) {};
52 :
53 : void AddTrackParamAtCluster(const AliMFTTrackParam &trackParam);
54 : TObjArray* GetTrackParamAtCluster() const;
55 :
56 : /// set the corresponding MC track number
57 0 : void SetMCLabel(Int_t label) {fTrackID = label;}
58 : /// return the corresponding MC track number
59 0 : Int_t GetMCLabel() const {return fTrackID;}
60 :
61 : virtual void Print(Option_t* opt="") const;
62 : virtual void Clear(Option_t* opt="");
63 :
64 0 : void SetP(double val) {fP = val;};
65 0 : void SetPt(double val) {fPt = val;};
66 0 : void SetTheta(double val) {fTheta = val;};
67 0 : void SetPhi(double val) {fPhi = val;};
68 :
69 0 : Double_t P() {return fP ;};
70 0 : Double_t Pt() {return fPt ;};
71 0 : Double_t Theta() {return fTheta ;};
72 0 : Double_t Phi() {return fPhi ;};
73 :
74 :
75 :
76 : protected:
77 :
78 : Double_t fChi2; ///< Chi2 of the track
79 : mutable TObjArray* fTrackParamAtCluster; //! ///< Track parameters at clusters
80 : AliMFTTrackParam* fTrackParamAtVertex; //! ///< Track parameters at vertex
81 : AliMFTCATrack* fCATrack; //! ///< Track found by Track Finder (includes clusters)
82 : Int_t fTrackID; ///< Point to the corresponding MC track
83 : Double_t fP; ///< Temporary to be removed....
84 : Double_t fTheta; ///< Temporary to be removed....
85 : Double_t fPhi; ///< Temporary to be removed....
86 : Double_t fPt; ///< Temporary to be removed.... From sagitta estimation
87 :
88 : /// \cond CLASSIMP
89 12 : ClassDef(AliMFTTrack,1);
90 : /// \endcond
91 : };
92 :
93 : //=============================================================================================
94 :
95 : #endif
|