#ifndef ALIHMPIDTRACK_H
#define ALIHMPIDTRACK_H
#include "TMath.h"
#include "TVector2.h"
#include "AliKalmanTrack.h"
#include "AliCluster3D.h"
#include "AliHMPIDCluster.h"
class TObject;
class AliESDtrack;
class AliHMPIDtrack : public AliKalmanTrack {
public:
AliHMPIDtrack();
AliHMPIDtrack(const AliHMPIDtrack& t);
AliHMPIDtrack(const AliESDtrack& t);
AliHMPIDtrack& operator=(const AliHMPIDtrack &);
Double_t GetPredictedChi2(const AliCluster3D *c) const;
Bool_t PropagateTo(const AliCluster3D *c);
Bool_t PropagateTo(Double_t xr, Double_t x0 = 8.72, Double_t rho = 5.86e-3);
void Propagate(Double_t len,Double_t x[3],Double_t p[3]) const;
Bool_t PropagateToR(Double_t r,Double_t step);
Bool_t Rotate(Double_t alpha, Bool_t absolute);
Int_t GetProlongation(Double_t xk, Double_t &y, Double_t &z);
Bool_t Intersect(Double_t pnt[3], Double_t norm[3]) const;
Bool_t Update(const AliHMPIDCluster *pClu, Double_t chi2, Int_t index);
protected:
Bool_t Update(const AliCluster *, Double_t , Int_t ) {return 0;}
Double_t GetPredictedChi2(const AliCluster *) const {return 0.;}
private:
ClassDef(AliHMPIDtrack,0)
};
#endif