The present commit corresponds to an important change in the way the
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDtrack.h
1 #ifndef ALIHMPIDTRACK_H
2 #define ALIHMPIDTRACK_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8 // Class HMPID track matching in the common tracking framework
9 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10
11 #include "TMath.h"
12 #include "TVector2.h"
13
14 #include "AliKalmanTrack.h"
15
16 #include "AliCluster3D.h"
17 #include "AliHMPIDCluster.h"
18
19 class TObject;
20 class AliESDtrack;
21
22 class AliHMPIDtrack : public AliKalmanTrack {
23
24 public:
25    AliHMPIDtrack();
26    AliHMPIDtrack(const AliHMPIDtrack& t);
27    AliHMPIDtrack(const AliESDtrack& t);
28    AliHMPIDtrack& operator=(const AliHMPIDtrack &/*source*/); // ass. op.
29    Double_t GetPredictedChi2(const AliCluster3D *c) const;                                
30    Bool_t   PropagateTo(const AliCluster3D *c);
31    Bool_t   PropagateTo(Double_t xr, Double_t x0 = 8.72, Double_t rho = 5.86e-3);                 //Use material definition as for TOF???
32    void     Propagate(Double_t len,Double_t x[3],Double_t p[3],Double_t bz) const;                //HMPID method moved from AliExternalTrackParam
33    Bool_t   PropagateToR(Double_t r,Double_t step);
34    Bool_t   Rotate(Double_t alpha, Bool_t absolute);
35    Int_t    GetProlongation(Double_t xk, Double_t &y, Double_t &z);
36    Bool_t   Intersect(Double_t pnt[3], Double_t norm[3], Double_t bz) const;                      //HMPID method moved from AliExternalTrackParam
37    Bool_t   Intersect(AliHMPIDtrack *pTrk,Double_t pnt[3], Double_t norm[3]) ;                      //just for test 
38    Bool_t   Update(const AliHMPIDCluster *pClu, Double_t chi2, Int_t index);
39               
40 protected:
41    Bool_t   Update(const AliCluster */*c*/, Double_t /*chi2*/, Int_t /*idx*/) {return 0;}
42    Double_t GetPredictedChi2(const AliCluster */*c*/) const {return 0.;}
43    
44  private:
45    ClassDef(AliHMPIDtrack,0) // HMPID reconstructed tracks
46
47 };                     
48
49 #endif