The present commit corresponds to an important change in the way the
[u/mrichter/AliRoot.git] / TRD / AliTRDgtuTrack.h
1 #ifndef ALITRDGTUTRACK_H
2 #define ALITRDGTUTRACK_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
8 ///////////////////////////////////////////////////////////////////////////////
9 //                                                                           //
10 //  TRD module global track (GTU)                                            //
11 //                                                                           //
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include <TObject.h>
15
16 class AliTRDltuTracklet;
17
18 class AliTRDgtuTrack : public TObject {
19
20  public:
21
22   enum { kNmaxTrk = 12, kNlayer = 6 };
23
24   AliTRDgtuTrack();
25   AliTRDgtuTrack(const AliTRDgtuTrack &t);
26   virtual         ~AliTRDgtuTrack();
27   AliTRDgtuTrack  &operator=(const AliTRDgtuTrack &t);
28
29   virtual void     Copy(TObject &t) const;
30
31           Bool_t   IsSortable() const            { return kTRUE;       }
32   virtual Int_t    Compare(const TObject *o) const;
33           void     Reset();
34           void     ResetTracklets();
35           void     Track(Float_t xpl, Float_t field);
36           void     CookLabel();
37           void     SetDetector(Int_t det)        { fDetector = det;    };
38           void     MakePID();
39           void     AddTracklet(AliTRDltuTracklet *trk);
40           Int_t    GetNtracklets() const;
41
42           AliTRDltuTracklet *GetTracklet(Int_t pos) const;
43           TObjArray         *Tracklets(); 
44
45           Float_t  GetYproj() const              { return fYproj;      };
46           Float_t  GetZproj() const              { return fZproj;      };
47           Float_t  GetSlope() const              { return fSlope;      };
48           Int_t    GetTracklets() const          { return fNtracklets; };
49           Int_t    GetPlanes() const             { return fNplanes;    };
50           Int_t    GetClusters() const           { return fNclusters;  };
51           Float_t  GetPt() const                 { return fPt;         };
52           Float_t  GetPhi() const                { return fPhi;        };
53           Float_t  GetEta() const                { return fEta;        };
54           Int_t    GetLabel() const              { return fLabel;      };
55           Int_t    GetDetector() const           { return fDetector;   };
56           Float_t  GetPID() const                { return fPID;        };
57           Bool_t   IsElectron() const            { return fIsElectron; };
58
59  protected:
60
61           TObjArray  *fTracklets;                               //! Array of LTU tracklets
62
63           Float_t     fYproj;                                   //  Average y-projection
64           Float_t     fZproj;                                   //  Average z-projection
65           Float_t     fSlope;                                   //  Average slope 
66
67           Int_t       fDetector;                                //  First detector in the module
68
69           Int_t       fNtracklets;                              //  Number of tracklets
70           Int_t       fNplanes;                                 //  Number of TRD planes
71           Int_t       fNclusters;                               //  Total number of clusters
72
73           Float_t     fPt;                                      //  Transverse momentum
74           Float_t     fPhi;                                     //  Phi angle at the vertex
75           Float_t     fEta;                                     //  Eta at the vertex
76           Int_t       fLabel;                                   //  Track label
77           Float_t     fPID;                                     //  PID electron likelihood
78           Bool_t      fIsElectron;                              //  Electron flag
79
80   ClassDef(AliTRDgtuTrack,2)                                    //  TRD module global track (GTU)
81
82 };
83
84 #endif