BOSS 6.6.4.p01
BESIII Offline Software System
|
A class to represent a track in tracking. More...
#include <TRunge.h>
Public Member Functions | |
TRunge () | |
Constructors. | |
TRunge (const TTrack &) | |
TRunge (const Helix &) | |
TRunge (const TRunge &) | |
TRunge (const RecMdcTrack &) | |
~TRunge () | |
Destructor. | |
unsigned | objectType (void) const |
returns object type | |
double | dr (void) const |
Track parameters (at pivot) | |
double | phi0 (void) const |
double | kappa (void) const |
double | dz (void) const |
double | tanl (void) const |
const HepPoint3D & | pivot (void) const |
pivot position | |
const Vector & | a (void) const |
returns helix parameter | |
const SymMatrix & | Ea (void) const |
returns error matrix | |
Helix | helix (void) const |
returns helix class | |
unsigned | ndf (void) const |
returns NDF | |
double | chi2 (void) const |
returns chi2. | |
double | reducedchi2 (void) const |
returns reduced-chi2 | |
int | BfieldID (void) const |
returns B field ID | |
double | StepSize (void) const |
returns step size | |
const double * | Yscal (void) const |
return error parameters for fitting with step size control | |
double | Eps (void) const |
double | StepSizeMax (void) const |
double | StepSizeMin (void) const |
float | Mass (void) const |
return mass | |
double | MaxFlightLength (void) const |
return max flight length | |
int | approach (TMLink &, const RkFitMaterial, bool sagCorrection=true) |
int | approach (TMLink &, float &tof, HepVector3D &p, const RkFitMaterial, bool sagCorrection=true) |
int | approach_line (TMLink &, const HepPoint3D &, const HepVector3D &, HepPoint3D &onLine, HepPoint3D &onTrack, const RkFitMaterial material) |
caluculate closest points between a line and this track | |
int | approach_line (TMLink &, const HepPoint3D &, const HepVector3D &, HepPoint3D &onLine, HepPoint3D &onTrack, float &tof, HepVector3D &p, const RkFitMaterial material) |
int | approach_line (TMLink &, const HepPoint3D &, const HepVector3D &, HepPoint3D &onLine, HepPoint3D &onTrack, float &tof, HepVector3D &p, const RkFitMaterial material, unsigned &stepNum) |
int | approach_point (TMLink &, const HepPoint3D &, HepPoint3D &onTrack, const RkFitMaterial material) const |
caluculate closest point between a point and this track | |
const HepPoint3D & | pivot (const HepPoint3D &) |
set new pivot | |
const Vector & | a (const Vector &) |
set helix parameter | |
const SymMatrix & | Ea (const SymMatrix &) |
set helix error matrix | |
int | BfieldID (int) |
set B field map ID | |
double | StepSize (double) |
set step size to calc. trajectory | |
const double * | Yscal (const double *) |
set error parameters for fitting with step size control | |
double | Eps (double) |
double | StepSizeMax (double) |
double | StepSizeMin (double) |
float | Mass (float) |
set mass for tof calc. | |
double | MaxFlightLength (double) |
double | DisToWire (TMLink &, double, HepPoint3D, HepPoint3D &) |
double | dEpath (double, double, double) const |
void | eloss (double path, const RkFitMaterial *material, double mass, double y[6], int index) const |
unsigned | Fly (const RkFitMaterial material) const |
make the trajectory in cache, return the number of step | |
unsigned | Fly_SC (void) const |
double | intersect_cylinder (double r) const |
double | intersect_yz_plane (const HepTransform3D &plane, double x) const |
double | intersect_zx_plane (const HepTransform3D &plane, double y) const |
double | intersect_xy_plane (double z) const |
void | Propagate (double y[6], const double &step, const RkFitMaterial material) const |
propagate the track using 4th-order Runge-Kutta method | |
void | Function (const double y[6], double f[6]) const |
void | Propagate1 (const double y[6], const double dydx[6], const double &step, double yout[6]) const |
void | Propagate_QC (double y[6], double dydx[6], const double &steptry, const double &eps, const double yscal[6], double &stepdid, double &stepnext) const |
void | SetFirst (double y[6]) const |
set first point (position, momentum) s=0, phi=0 | |
unsigned | Nstep (void) const |
access to trajectory cache | |
int | GetXP (unsigned stepNum, double y[6]) const |
int | GetStep (unsigned stepNum, double &step) const |
double | SetFlightLength (void) |
set flight length using wire hits | |
Public Member Functions inherited from TTrackBase | |
TTrackBase () | |
Constructor. | |
TTrackBase (const AList< TMLink > &links) | |
Constructor. | |
virtual | ~TTrackBase () |
Destructor. | |
virtual unsigned | objectType (void) const |
returns object type. | |
virtual unsigned | type (void) const |
returns type. Definition is depending on an object class. | |
virtual void | dump (const std::string &message=std::string(""), const std::string &prefix=std::string("")) const |
dumps debug information. | |
const AList< TMLink > & | links (unsigned mask=0) const |
returns a list of masked TMLinks assigned to this track. 'mask' will be applied if mask is not 0. | |
unsigned | nLinks (unsigned mask=0) const |
returns # of masked TMLinks assigned to this track object. | |
const AList< TMLink > & | cores (unsigned mask=0) const |
returns a list of masked TMLinks for fit. 'mask' will be applied if mask is not 0. | |
unsigned | nCores (unsigned mask=0) const |
returns # of masked TMLinks for fit. 'mask' will be applied if mask is not 0. | |
void | update (void) const |
update cache. | |
void | append (TMLink &) |
appends a TMLink. | |
void | append (const AList< TMLink > &) |
appends TMLinks. | |
void | appendByApproach (AList< TMLink > &list, double maxSigma) |
appends TMLinks by approach. 'list' is an input. Unappended TMLinks will be removed from 'list' when returned. | |
void | appendByDistance (AList< TMLink > &list, double maxDistance) |
appends TMLinks by distance. 'list' is an input. Unappended TMLinks will be removed from 'list' when returned. | |
void | remove (TMLink &a) |
removes a TMLink. | |
void | remove (const AList< TMLink > &) |
removes TMLinks. | |
virtual void | refine (AList< TMLink > &list, double maxSigma) |
removes bad points by pull. The bad points are removed from the track, and are returned in 'list'. | |
virtual void | refine (double maxSigma) |
removes bad points by pull. The bad points are masked not to be used in fit. | |
virtual int | DropWorst () |
virtual void | removeLinks (void) |
virtual double | distance (const TMLink &) const |
returns distance to a position of TMLink in TMLink space. | |
virtual int | approach (TMLink &) const |
calculates the closest approach to a wire in real space. Results are stored in TMLink. Return value is negative if error happened. | |
unsigned | testByApproach (const TMLink &list, double sigma) const |
returns # of good hits to be appended. | |
unsigned | testByApproach (const AList< TMLink > &list, double sigma) const |
virtual int | fit (void) |
fits itself by a default fitter. Error was happened if return value is not zero. | |
const TMFitter *const | fitter (void) const |
returns a pointer to a default fitter. | |
const TMFitter *const | fitter (const TMFitter *) |
sets a default fitter. | |
void | falseFit () |
false Fit | |
TMLink * | operator[] (unsigned i) const |
const TTrackHEP *const | hep (void) const |
returns TTrackHEP. | |
unsigned | nHeps (void) const |
returns # of contributed TTrackHEP tracks. | |
const TTrackMC *const | mc (void) const |
returns a pointer to TTrackMC. | |
bool | fitted (void) const |
returns true if fitted. | |
bool | fittedWithCathode (void) const |
returns true if fitted with cathode hits(TEMPORARY). | |
Friends | |
class | TRungeFitter |
Additional Inherited Members | |
Protected Attributes inherited from TTrackBase | |
AList< TMLink > | _links |
bool | _fitted |
bool | _fittedWithCathode |
TTrackMC * | _mc |
TRunge::TRunge | ( | ) |
Constructors.
Definition at line 47 of file TRunge.cxx.
TRunge::TRunge | ( | const TTrack & | a | ) |
Definition at line 114 of file TRunge.cxx.
TRunge::TRunge | ( | const Helix & | h | ) |
Definition at line 149 of file TRunge.cxx.
TRunge::TRunge | ( | const TRunge & | a | ) |
Definition at line 178 of file TRunge.cxx.
TRunge::TRunge | ( | const RecMdcTrack & | a | ) |
Definition at line 79 of file TRunge.cxx.
TRunge::~TRunge | ( | ) |
set helix parameter
Definition at line 299 of file TRunge.cxx.
const Vector & TRunge::a | ( | void | ) | const |
returns helix parameter
Definition at line 230 of file TRunge.cxx.
Referenced by dEpath(), DisToWire(), and TRunge().
int TRunge::approach | ( | TMLink & | l, |
const RkFitMaterial | material, | ||
bool | sagCorrection = true |
||
) |
calculates the closest approach to a wire in real space. Results are stored in TMLink. Return value is negative if error happened.
Definition at line 360 of file TRunge.cxx.
Referenced by approach().
int TRunge::approach | ( | TMLink & | l, |
float & | tof, | ||
HepVector3D & | p, | ||
const RkFitMaterial | material, | ||
bool | sagCorrection = true |
||
) |
Definition at line 366 of file TRunge.cxx.
int TRunge::approach_line | ( | TMLink & | l, |
const HepPoint3D & | w0, | ||
const HepVector3D & | v, | ||
HepPoint3D & | onLine, | ||
HepPoint3D & | onTrack, | ||
const RkFitMaterial | material | ||
) |
caluculate closest points between a line and this track
Definition at line 428 of file TRunge.cxx.
Referenced by approach(), and approach_line().
int TRunge::approach_line | ( | TMLink & | l, |
const HepPoint3D & | w0, | ||
const HepVector3D & | v, | ||
HepPoint3D & | onLine, | ||
HepPoint3D & | onTrack, | ||
float & | tof, | ||
HepVector3D & | p, | ||
const RkFitMaterial | material | ||
) |
Definition at line 435 of file TRunge.cxx.
int TRunge::approach_line | ( | TMLink & | l, |
const HepPoint3D & | w0, | ||
const HepVector3D & | v, | ||
HepPoint3D & | onLine, | ||
HepPoint3D & | onTrack, | ||
float & | tof, | ||
HepVector3D & | p, | ||
const RkFitMaterial | material, | ||
unsigned & | stepNum | ||
) |
Definition at line 442 of file TRunge.cxx.
int TRunge::approach_point | ( | TMLink & | l, |
const HepPoint3D & | p0, | ||
HepPoint3D & | onTrack, | ||
const RkFitMaterial | material | ||
) | const |
caluculate closest point between a point and this track
Definition at line 777 of file TRunge.cxx.
int TRunge::BfieldID | ( | int | id | ) |
set B field map ID
Definition at line 313 of file TRunge.cxx.
int TRunge::BfieldID | ( | void | ) | const |
double TRunge::chi2 | ( | void | ) | const |
double TRunge::dEpath | ( | double | mass, |
double | path, | ||
double | p | ||
) | const |
Definition at line 1239 of file TRunge.cxx.
double TRunge::DisToWire | ( | TMLink & | l, |
double | z, | ||
HepPoint3D | a, | ||
HepPoint3D & | b | ||
) |
Definition at line 1215 of file TRunge.cxx.
Referenced by approach_line().
double TRunge::dr | ( | void | ) | const |
Track parameters (at pivot)
Definition at line 206 of file TRunge.cxx.
double TRunge::dz | ( | void | ) | const |
Definition at line 218 of file TRunge.cxx.
Referenced by approach_line(), and intersect_xy_plane().
set helix error matrix
Definition at line 307 of file TRunge.cxx.
const SymMatrix & TRunge::Ea | ( | void | ) | const |
void TRunge::eloss | ( | double | path, |
const RkFitMaterial * | material, | ||
double | mass, | ||
double | y[6], | ||
int | index | ||
) | const |
Definition at line 1299 of file TRunge.cxx.
Referenced by RkFitCylinder::updateTrack().
double TRunge::Eps | ( | double | eps | ) |
Definition at line 331 of file TRunge.cxx.
double TRunge::Eps | ( | void | ) | const |
Definition at line 269 of file TRunge.cxx.
unsigned TRunge::Fly | ( | const RkFitMaterial | material | ) | const |
make the trajectory in cache, return the number of step
Definition at line 836 of file TRunge.cxx.
Referenced by approach_line(), and approach_point().
unsigned TRunge::Fly_SC | ( | void | ) | const |
Definition at line 1097 of file TRunge.cxx.
Referenced by approach_line(), and approach_point().
void TRunge::Function | ( | const double | y[6], |
double | f[6] | ||
) | const |
Definition at line 916 of file TRunge.cxx.
Referenced by approach_line(), Fly_SC(), Propagate(), Propagate1(), and Propagate_QC().
int TRunge::GetStep | ( | unsigned | stepNum, |
double & | step | ||
) | const |
Definition at line 985 of file TRunge.cxx.
int TRunge::GetXP | ( | unsigned | stepNum, |
double | y[6] | ||
) | const |
Definition at line 979 of file TRunge.cxx.
Helix TRunge::helix | ( | void | ) | const |
returns helix class
Definition at line 238 of file TRunge.cxx.
Referenced by RkFitCylinder::intersect(), intersect_cylinder(), intersect_xy_plane(), intersect_yz_plane(), intersect_zx_plane(), pivot(), and SetFlightLength().
double TRunge::intersect_cylinder | ( | double | r | ) | const |
Definition at line 1316 of file TRunge.cxx.
Referenced by RkFitCylinder::intersect(), intersect_yz_plane(), and intersect_zx_plane().
double TRunge::intersect_xy_plane | ( | double | z | ) | const |
Definition at line 1362 of file TRunge.cxx.
Referenced by RkFitCylinder::intersect().
double TRunge::intersect_yz_plane | ( | const HepTransform3D & | plane, |
double | x | ||
) | const |
Definition at line 1345 of file TRunge.cxx.
double TRunge::intersect_zx_plane | ( | const HepTransform3D & | plane, |
double | y | ||
) | const |
Definition at line 1328 of file TRunge.cxx.
double TRunge::kappa | ( | void | ) | const |
Definition at line 214 of file TRunge.cxx.
float TRunge::Mass | ( | float | mass | ) |
set mass for tof calc.
Definition at line 347 of file TRunge.cxx.
float TRunge::Mass | ( | void | ) | const |
double TRunge::MaxFlightLength | ( | double | length | ) |
Definition at line 353 of file TRunge.cxx.
double TRunge::MaxFlightLength | ( | void | ) | const |
return max flight length
Definition at line 283 of file TRunge.cxx.
unsigned TRunge::ndf | ( | void | ) | const |
unsigned TRunge::Nstep | ( | void | ) | const |
access to trajectory cache
Definition at line 975 of file TRunge.cxx.
|
inlinevirtual |
returns object type
Reimplemented from TTrackBase.
double TRunge::phi0 | ( | void | ) | const |
Definition at line 210 of file TRunge.cxx.
const HepPoint3D & TRunge::pivot | ( | const HepPoint3D & | newpivot | ) |
set new pivot
!!!!! under construction !!!!! track parameter should be extracted after track propagation.
Definition at line 287 of file TRunge.cxx.
const HepPoint3D & TRunge::pivot | ( | void | ) | const |
pivot position
Definition at line 226 of file TRunge.cxx.
Referenced by intersect_xy_plane().
void TRunge::Propagate | ( | double | y[6], |
const double & | step, | ||
const RkFitMaterial | material | ||
) | const |
propagate the track using 4th-order Runge-Kutta method
Definition at line 862 of file TRunge.cxx.
Referenced by approach_line(), approach_point(), and Fly().
void TRunge::Propagate1 | ( | const double | y[6], |
const double | dydx[6], | ||
const double & | step, | ||
double | yout[6] | ||
) | const |
Definition at line 991 of file TRunge.cxx.
Referenced by Propagate_QC().
void TRunge::Propagate_QC | ( | double | y[6], |
double | dydx[6], | ||
const double & | steptry, | ||
const double & | eps, | ||
const double | yscal[6], | ||
double & | stepdid, | ||
double & | stepnext | ||
) | const |
Definition at line 1048 of file TRunge.cxx.
Referenced by Fly_SC().
double TRunge::reducedchi2 | ( | void | ) | const |
returns reduced-chi2
Definition at line 250 of file TRunge.cxx.
void TRunge::SetFirst | ( | double | y[6] | ) | const |
set first point (position, momentum) s=0, phi=0
Definition at line 956 of file TRunge.cxx.
double TRunge::SetFlightLength | ( | void | ) |
set flight length using wire hits
Definition at line 1141 of file TRunge.cxx.
double TRunge::StepSize | ( | double | step | ) |
set step size to calc. trajectory
Definition at line 320 of file TRunge.cxx.
double TRunge::StepSize | ( | void | ) | const |
double TRunge::StepSizeMax | ( | double | step | ) |
Definition at line 336 of file TRunge.cxx.
double TRunge::StepSizeMax | ( | void | ) | const |
Definition at line 272 of file TRunge.cxx.
double TRunge::StepSizeMin | ( | double | step | ) |
Definition at line 341 of file TRunge.cxx.
double TRunge::StepSizeMin | ( | void | ) | const |
Definition at line 275 of file TRunge.cxx.
double TRunge::tanl | ( | void | ) | const |
Definition at line 222 of file TRunge.cxx.
Referenced by intersect_xy_plane(), and SetFlightLength().
const double * TRunge::Yscal | ( | const double * | ) |
set error parameters for fitting with step size control
const double * TRunge::Yscal | ( | void | ) | const |
return error parameters for fitting with step size control
Definition at line 266 of file TRunge.cxx.
|
friend |