25#include "CLHEP/Alist/AList.h"
26#include "CLHEP/Vector/ThreeVector.h"
27#include "MdcxReco/MdcxHit.h"
28#include "MdcxReco/MdcxParameters.h"
34using CLHEP::Hep3Vector;
45 double T0 = 0.0,
int Code = 11111,
int Mode = 0,
double X = 0.0,
double Y = 0.0 );
52 inline double D0()
const {
return d0; }
55 inline double Z0()
const {
return z0; }
57 inline double X()
const {
return xref; }
59 inline double Y()
const {
return yref; }
61 inline double T0()
const {
return t0; }
78 inline int Qd0()
const {
return qd0; }
81 inline int Qz0()
const {
return qz0; }
83 inline int Qt0()
const {
return qt0; }
88 double Xh(
double l )
const;
89 double Yh(
double l )
const;
90 double Zh(
double l )
const;
91 double Px(
double l = 0.0 )
const;
92 double Py(
double l = 0.0 )
const;
93 double Pz(
double l = 0.0 )
const;
94 double Ptot(
double l = 0.0 )
const;
98 double Doca(
double WX,
double WY,
double WZ,
double X,
double Y,
double Z = 0.0 );
162 double len,
phi,
xh,
yh,
zh,
vx,
vy,
vz,
cosl,
sinl,
f0,
tx,
ty,
tz;
168 double CalcPhi(
double xf,
double yf,
double xl,
double yl )
const {
169 double phit = atan2( yl - yf, xl - xf );
170 return phit < 0 ? phit + 2 *
M_PI : phit;
173 return i == j ? 0 : i == 0 ? 1 : -1;
175 void decode(
const int i,
int& i1,
int& i2,
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
MdcxHel(double D0, double Phi0, double Omega, double Z0=0.0, double Tanl=0.0, double T0=0.0, int Code=11111, int Mode=0, double X=0.0, double Y=0.0)
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)
double Doca(const MdcxHit &h)
MdcxHel & operator=(const MdcxHel &)
static const double c
constants