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/Bfield.h"
41#include "TrackUtil/Helix.h"
42#include "TrkReco/TRunge.h"
43#include "TrkReco/TTrackBase.h"
45#include "GaudiKernel/IInterface.h"
46#include "GaudiKernel/Kernel.h"
47#include "GaudiKernel/Service.h"
48#include "MagneticFieldSvc/IBesMagFieldSvc.h"
51#include "CLHEP/Geometry/Point3D.h"
52#include "CLHEP/Geometry/Transform3D.h"
53#include "CLHEP/Matrix/SymMatrix.h"
54#include "CLHEP/Matrix/Vector.h"
55#include "CLHEP/Vector/LorentzVector.h"
56#include "CLHEP/Vector/ThreeVector.h"
57#include "MdcRecEvent/RecMdcTrack.h"
58#include "TrkReco/RkFitMaterial.h"
63#define TRunge_MAXstep 10000
83 double dr(
void )
const;
86 double dz(
void )
const;
102 unsigned ndf(
void )
const;
134 bool sagCorrection =
true );
167 const double*
Yscal(
const double* );
179 double dEpath(
double,
double,
double )
const;
195 void Propagate1(
const double y[6],
const double dydx[6],
const double& step,
197 void Propagate_QC(
double y[6],
double dydx[6],
const double& steptry,
const double&
eps,
198 const double yscal[6],
double& stepdid,
double& stepnext );
204 int GetXP(
unsigned stepNum,
double y[6] )
const;
206 int GetStep(
unsigned stepNum,
double& step )
const;
227 double _maxflightlength;
246 mutable unsigned _Nstep;
HepGeom::Vector3D< double > HepVector3D
HepGeom::Point3D< double > HepPoint3D
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
EvtTensor3C eps(const EvtVector3R &v)
HepGeom::Transform3D HepTransform3D
CLHEP::HepSymMatrix SymMatrix
HepGeom::Point3D< double > HepPoint3D
HepGeom::Vector3D< double > HepVector3D
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(double)
double MaxFlightLength(void) const
return max flight length
Helix helix(void) const
returns helix class
double StepSizeMin(double)
int BfieldID(int)
set B field map ID
void SetFirst(double y[6]) const
set first point (position, momentum) s=0, phi=0
unsigned Nstep(void) const
access to trajectory cache
double intersect_yz_plane(const HepTransform3D &plane, double x) const
const Vector & a(void) const
returns helix parameter
int approach(TMLink &, float &tof, HepVector3D &p, const RkFitMaterial, bool sagCorrection=true)
void eloss(double path, const RkFitMaterial *material, double mass, double y[6], int index) const
int approach_line(TMLink &, const HepPoint3D &, const HepVector3D &, HepPoint3D &onLine, HepPoint3D &onTrack, float &tof, HepVector3D &p, const RkFitMaterial material)
double intersect_xy_plane(double z) const
const SymMatrix & Ea(const SymMatrix &)
set helix error matrix
double SetFlightLength(void)
set flight length using wire hits
int approach_point(TMLink &, const HepPoint3D &, HepPoint3D &onTrack, const RkFitMaterial material)
caluculate closest point between a point and this track
double intersect_zx_plane(const HepTransform3D &plane, double y) const
double DisToWire(TMLink &, double, HepPoint3D, HepPoint3D &)
void Propagate_QC(double y[6], double dydx[6], const double &steptry, const double &eps, const double yscal[6], double &stepdid, double &stepnext)
TRunge(const RecMdcTrack &)
int approach(TMLink &, const RkFitMaterial, bool sagCorrection=true)
void Propagate1(const double y[6], const double dydx[6], const double &step, double yout[6])
const Vector & a(const Vector &)
set helix parameter
double StepSize(void) const
returns step size
float Mass(float)
set mass for tof calc.
const HepPoint3D & pivot(const HepPoint3D &)
set new pivot
unsigned objectType(void) const
returns object type
const double * Yscal(void) const
return error parameters for fitting with step size control
double StepSizeMax(void) const
friend class TRungeFitter
int approach_line(TMLink &, const HepPoint3D &, const HepVector3D &, HepPoint3D &onLine, HepPoint3D &onTrack, float &tof, HepVector3D &p, const RkFitMaterial material, unsigned &stepNum)
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
double StepSizeMax(double)
const HepPoint3D & pivot(void) const
pivot position
void Propagate(double y[6], const double &step, const RkFitMaterial material)
propagate the track using 4th-order Runge-Kutta method
double reducedchi2(void) const
returns reduced-chi2
float Mass(void) const
return mass
double StepSize(double)
set step size to calc. trajectory
int BfieldID(void) const
returns B field ID
void Function(const double y[6], double f[6])
double StepSizeMin(void) const
int GetStep(unsigned stepNum, double &step) const
double dEpath(double, double, double) const
unsigned Fly(const RkFitMaterial material)
make the trajectory in cache, return the number of step
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.