27#include "CLHEP/Alist/AList.h"
28#include "CLHEP/Vector/ThreeVector.h"
29#include "MdcxReco/MdcxHit.h"
30#include "MdcxReco/MdcxParameters.h"
34using CLHEP::Hep3Vector;
46 double T0=0.0,
int Code=11111,
int Mode=0,
double X=0.0,
double Y=0.0);
53 inline double D0()
const{
return d0;}
56 inline double Z0()
const{
return z0;}
58 inline double X()
const{
return xref;}
60 inline double Y()
const{
return yref;}
62 inline double T0()
const{
return t0;}
87 double Xh(
double l)
const;
88 double Yh(
double l)
const;
89 double Zh(
double l)
const;
90 double Px(
double l=0.0)
const;
91 double Py(
double l=0.0)
const;
92 double Pz(
double l=0.0)
const;
93 double Ptot(
double l=0.0)
const;
97 double Doca(
double WX,
double WY,
double WZ,
double X,
double Y,
double Z=0.0);
105 void SetRef(
double x,
double y);
162 double len,
phi,
xh,
yh,
zh,
vx,
vy,
vz,
cosl,
sinl,
f0,
tx,
ty,
tz;
167 double CalcPhi(
double xf,
double yf,
double xl,
double yl)
const{
168 double phit=atan2(yl-yf,xl-xf);
return phit<0?phit+2*
M_PI:phit;
170 int deltaq(
int i,
int j)
const {
return i==j?0:i==0?1:-1; }
171 void decode(
const int i,
int& i1,
int& i2,
172 int& i3,
int& i4,
int& i5,
int& i6,
int&
n);
double CalcPhi(double xf, double yf, double xl, double yl) const
void SetRef(double x, double y)
double Py(double l=0.0) const
double Px(double l=0.0) const
double Ptot(double l=0.0) const
double Pz(double l=0.0) const
void decode(const int i, int &i1, int &i2, int &i3, int &i4, int &i5, int &i6, int &n)
double Doca(double WX, double WY, double WZ, double X, double Y, double Z=0.0)
double Yh(double l) const
double Zh(double l) const
void copy(const MdcxHel &hel)
int deltaq(int i, int j) const
double Xh(double l) const
void SetTurnFlag(const int &i)
std::vector< float > derivatives(const MdcxHit &h)
MdcxHel & operator=(const MdcxHel &)
static const double c
constants