22#define HEP_SHORT_NAMES
23#ifndef CLHEP_POINT3D_H
24#include "CLHEP/Geometry/Point3D.h"
26#ifndef ENABLE_BACKWARDS_COMPATIBILITY
30#ifndef CLHEP_VECTOR3D_H
31#include "CLHEP/Geometry/Vector3D.h"
33#ifndef ENABLE_BACKWARDS_COMPATIBILITY
40#include "TrackUtil/Helix.h"
41#include "TrkReco/Bfield.h"
42#include "TrkReco/TTrackBase.h"
43#include "TrkReco/TRunge.h"
45#include "GaudiKernel/IInterface.h"
46#include "GaudiKernel/Kernel.h"
47#include "GaudiKernel/Service.h"
48#include "MagneticField/IMagneticFieldSvc.h"
49#include "MagneticField/MagneticFieldSvc.h"
51#include "CLHEP/Matrix/Vector.h"
52#include "CLHEP/Matrix/SymMatrix.h"
53#include "CLHEP/Vector/ThreeVector.h"
54#include "CLHEP/Vector/LorentzVector.h"
55#include "CLHEP/Geometry/Point3D.h"
56#include "MdcRecEvent/RecMdcTrack.h"
57#include "TrkReco/RkFitMaterial.h"
58#include "CLHEP/Geometry/Transform3D.h"
63#define TRunge_MAXstep 10000
83 double dr(
void)
const;
84 double phi0(
void)
const;
85 double kappa(
void)
const;
86 double dz(
void)
const;
87 double tanl(
void)
const;
103 unsigned ndf(
void)
const;
106 double chi2(
void)
const;
118 const double*
Yscal(
void)
const;
119 double Eps(
void)
const;
125 float Mass(
void)
const;
181 double dEpath(
double ,
double ,
double)
const;
187 unsigned Fly_SC(
void)
const;
194 void Function(
const double y[6],
double f[6])
const;
196 void Propagate1(
const double y[6],
const double dydx[6],
197 const double& step,
double yout[6])
const;
198 void Propagate_QC(
double y[6],
double dydx[6],
const double& steptry,
199 const double&
eps,
const double yscal[6],
200 double& stepdid,
double& stepnext)
const;
205 unsigned Nstep(
void)
const;
206 int GetXP(
unsigned stepNum,
double y[6])
const;
208 int GetStep(
unsigned stepNum,
double& step)
const;
229 double _maxflightlength;
249 mutable unsigned _Nstep;
EvtTensor3C eps(const EvtVector3R &v)
CLHEP::HepSymMatrix SymMatrix
HepGeom::Point3D< double > HepPoint3D
HepGeom::Transform3D HepTransform3D
HepGeom::Vector3D< double > HepVector3D
HepGeom::Transform3D HepTransform3D
A class to relate TMDCWireHit and TTrack objects.
A class to fit a TTrackBase object to a 3D line.
A class to represent a track in tracking.
double dr(void) const
Track parameters (at pivot)
int GetXP(unsigned stepNum, double y[6]) const
double MaxFlightLength(void) const
return max flight length
Helix helix(void) const
returns helix class
unsigned Fly_SC(void) const
void SetFirst(double y[6]) const
set first point (position, momentum) s=0, phi=0
unsigned Nstep(void) const
access to trajectory cache
unsigned Fly(const RkFitMaterial material) const
make the trajectory in cache, return the number of step
double intersect_yz_plane(const HepTransform3D &plane, double x) const
const Vector & a(void) const
returns helix parameter
void eloss(double path, const RkFitMaterial *material, double mass, double y[6], int index) const
double intersect_xy_plane(double z) const
double SetFlightLength(void)
set flight length using wire hits
double intersect_zx_plane(const HepTransform3D &plane, double y) const
double DisToWire(TMLink &, double, HepPoint3D, HepPoint3D &)
int approach_point(TMLink &, const HepPoint3D &, HepPoint3D &onTrack, const RkFitMaterial material) const
caluculate closest point between a point and this track
int approach(TMLink &, const RkFitMaterial, bool sagCorrection=true)
double StepSize(void) const
returns step size
unsigned objectType(void) const
returns object type
const double * Yscal(void) const
return error parameters for fitting with step size control
void Propagate_QC(double y[6], double dydx[6], const double &steptry, const double &eps, const double yscal[6], double &stepdid, double &stepnext) const
double StepSizeMax(void) const
void Function(const double y[6], double f[6]) const
int approach_line(TMLink &, const HepPoint3D &, const HepVector3D &, HepPoint3D &onLine, HepPoint3D &onTrack, const RkFitMaterial material)
caluculate closest points between a line and this track
const SymMatrix & Ea(void) const
returns error matrix
const HepPoint3D & pivot(void) const
pivot position
void Propagate1(const double y[6], const double dydx[6], const double &step, double yout[6]) const
double reducedchi2(void) const
returns reduced-chi2
float Mass(void) const
return mass
void Propagate(double y[6], const double &step, const RkFitMaterial material) const
propagate the track using 4th-order Runge-Kutta method
int BfieldID(void) const
returns B field ID
double StepSizeMin(void) const
int GetStep(unsigned stepNum, double &step) const
double dEpath(double, double, double) const
unsigned ndf(void) const
returns NDF
double chi2(void) const
returns chi2.
const double * Yscal(const double *)
set error parameters for fitting with step size control
double intersect_cylinder(double r) const
A virtual class for a track class in tracking.
A class to represent a track in tracking.