6#include "GaudiKernel/IInterface.h"
7#include "GaudiKernel/Kernel.h"
8#include "GaudiKernel/Service.h"
12#include "CLHEP/Matrix/Vector.h"
13#include "CLHEP/Matrix/SymMatrix.h"
14#ifndef CLHEP_THREEVECTOR_H
15#include "CLHEP/Vector/ThreeVector.h"
18#include "CLHEP/Vector/LorentzVector.h"
20#ifndef CLHEP_POINT3D_H
21#include "CLHEP/Geometry/Point3D.h"
24#ifndef ENABLE_BACKWARDS_COMPATIBILITY
39 const HepSymMatrix &
Ea);
65 double *
x(
double dPhi,
double p[3])
const;
71 Hep3Vector
direction(
double dPhi = 0.)
const;
74 Hep3Vector
momentum(
double dPhi = 0.)
const;
77 Hep3Vector
momentum(
double dPhi, HepSymMatrix & Em)
const;
80 HepLorentzVector
momentum(
double dPhi,
double mass)
const;
83 HepLorentzVector
momentum(
double dPhi,
double mass, HepSymMatrix & Em)
const;
90 double dr(
void)
const;
91 double phi0(
void)
const;
92 double kappa(
void)
const;
93 double dz(
void)
const;
94 double tanl(
void)
const;
95 double curv(
void)
const;
100 const HepVector &
a(
void)
const;
103 const HepSymMatrix &
Ea(
void)
const;
107 const HepVector &
a(
const HepVector & newA);
110 const HepSymMatrix &
Ea(
const HepSymMatrix & newdA);
118 const HepSymMatrix &
Ea);
132 HepMatrix
delApDelA(
const HepVector & ap)
const;
133 HepMatrix
delXDelA(
double phi)
const;
134 HepMatrix
delMDelA(
double phi)
const;
142 void updateCache(
void);
167#ifdef Helix_NO_INLINE
171#define Helix_INLINE_DEFINE_HERE
174#ifdef Helix_INLINE_DEFINE_HERE
266 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
HepMatrix del4MDelA(double phi, double mass) const
double sinPhi0(void) const
double cosPhi0(void) const
const HepVector & a(void) const
returns helix parameters.
HepPoint3D x(double dPhi=0.) const
returns position after rotating angle dPhi in phi direction.
double bFieldZ(void) const
static const double ConstantAlpha
Constant alpha for uniform field.
Dedx_Helix & operator=(const Dedx_Helix &)
Copy operator.
void set(const HepPoint3D &pivot, const HepVector &a, const HepSymMatrix &Ea)
sets helix pivot position, parameters, and error matrix.
HepMatrix del4MXDelA(double phi, double mass) const
virtual ~Dedx_Helix()
Destructor.
HepMatrix delMDelA(double phi) const
const HepSymMatrix & Ea(void) const
returns error matrix.
const HepPoint3D & pivot(void) const
returns pivot position.
double dr(void) const
returns an element of parameters.
void ignoreErrorMatrix(void)
unsets error matrix. Error calculations will be ignored after this function call until an error matri...
HepMatrix delXDelA(double phi) const
HepMatrix delApDelA(const HepVector &ap) const
double radius(void) const
returns radious of helix.
Hep3Vector direction(double dPhi=0.) const
returns direction vector after rotating angle dPhi in phi direction.
const HepPoint3D & center(void) const
returns position of helix center(z = 0.);