#ifndef ALIFMPHYSICALHELIX_H
#define ALIFMPHYSICALHELIX_H
#include "AliFmThreeVector.h"
#include "AliFmHelix.h"
class AliFmPhysicalHelix : public AliFmHelix {
public:
AliFmPhysicalHelix(const AliFmThreeVector<double>& v1,
const AliFmThreeVector<double>& v2,
double x, double y);
AliFmPhysicalHelix(double curvature, double dipAngle, double phase,
const AliFmThreeVector<double>& origin, int h=-1);
AliFmPhysicalHelix();
~AliFmPhysicalHelix();
AliFmThreeVector<double> Momentum(double x) const;
AliFmThreeVector<double> MomentumAt(double x, double y) const;
int Charge(double x) const;
double CurvatureSignedDistance(double x, double y) ;
double GeometricSignedDistance(double x, double y) ;
double CurvatureSignedDistance(const AliFmThreeVector<double>& v) ;
double GeometricSignedDistance(const AliFmThreeVector<double>& v) ;
#ifdef __ROOT__
ClassDef(AliFmPhysicalHelix,1)
#endif
};
#endif