16#include "GaudiKernel/IInterface.h"
17#include "GaudiKernel/Kernel.h"
18#include "GaudiKernel/Service.h"
22#include "CLHEP/Matrix/Vector.h"
23#include "CLHEP/Matrix/SymMatrix.h"
25#include "CLHEP/Vector/ThreeVector.h"
27#include "CLHEP/Vector/LorentzVector.h"
29#include "CLHEP/Geometry/Point3D.h"
32#ifndef ENABLE_BACKWARDS_COMPATIBILITY
47 const HepSymMatrix &
Ea);
73 double *
x(
double dPhi,
double p[3])
const;
79 Hep3Vector
direction(
double dPhi = 0.)
const;
82 Hep3Vector
momentum(
double dPhi = 0.)
const;
85 Hep3Vector
momentum(
double dPhi, HepSymMatrix & Em)
const;
88 HepLorentzVector
momentum(
double dPhi,
double mass)
const;
91 HepLorentzVector
momentum(
double dPhi,
double mass, HepSymMatrix & Em)
const;
98 double dr(
void)
const;
99 double phi0(
void)
const;
100 double kappa(
void)
const;
101 double dz(
void)
const;
102 double tanl(
void)
const;
103 double curv(
void)
const;
108 const HepVector &
a(
void)
const;
111 const HepSymMatrix &
Ea(
void)
const;
120 const HepVector &
a(
const HepVector & newA);
123 const HepSymMatrix &
Ea(
const HepSymMatrix & newdA);
131 const HepSymMatrix &
Ea);
141 double alpha(
void)
const;
148 HepMatrix
delApDelA(
const HepVector & ap)
const;
149 HepMatrix
delXDelA(
double phi)
const;
150 HepMatrix
delMDelA(
double phi)
const;
158 void updateCache(
void);
183#ifdef Helix_NO_INLINE
187#define Helix_INLINE_DEFINE_HERE
190#ifdef Helix_INLINE_DEFINE_HERE
282 m_alpha = 10000. / 2.99792458 / m_bField;
**********INTEGER nmxhep !maximum number of particles DOUBLE PRECISION vhep INTEGER jdahep COMMON hepevt $ !serial number $ !number of particles $ !status code $ !particle ident KF $ !parent particles $ !childreen particles $ !four momentum
HepGeom::Point3D< double > HepPoint3D
Description of a Hit in Mdc.
HepMatrix delApDelA(const HepVector &ap) const
double cosPhi0(void) const
HepMatrix delMDelA(double phi) const
double sinPhi0(void) const
const HepPoint3D & center(void) const
returns position of helix center(z = 0.);
void set(const HepPoint3D &pivot, const HepVector &a, const HepSymMatrix &Ea)
sets helix pivot position, parameters, and error matrix.
double approach(KalFitHitMdc &hit, bool doSagCorrection) const
void ignoreErrorMatrix(void)
unsets error matrix. Error calculations will be ignored after this function call until an error matri...
Helix & operator=(const Helix &)
Copy operator.
HepMatrix del4MXDelA(double phi, double mass) const
static const double ConstantAlpha
Constant alpha for uniform field.
const HepSymMatrix & Ea(void) const
returns error matrix.
HepPoint3D x(double dPhi=0.) const
returns position after rotating angle dPhi in phi direction.
double bFieldZ(void) const
HepMatrix del4MDelA(double phi, double mass) const
HepMatrix delXDelA(double phi) const
double radius(void) const
returns radious of helix.
double dr(void) const
returns an element of parameters.
virtual ~Helix()
Destructor.
const HepVector & a(void) const
returns helix parameters.
const HepPoint3D & pivot(void) const
returns pivot position.
Hep3Vector direction(double dPhi=0.) const
returns direction vector after rotating angle dPhi in phi direction.