1 #ifndef SIMPLEHELIXTRACKMODEL_H 2 #define SIMPLEHELIXTRACKMODEL_H 4 #include <gearimpl/Vector3D.h> 8 #include "TMatrixDSym.h" 10 #include "EVENT/Track.h" 24 simpleHelix(
const double,
const double,
const double,
const double,
const double,
const double*,
const double);
25 simpleHelix(
const double*,
const double*,
const double);
30 bool getExpectedPlanePos(
const double*,
const double,
double&,
double&,
double&,
double&,
double&)
const;
37 void moveTo(
const double,
const double,
const double,
double*);
38 void getStateAt(
const double,
const double,
const double, TMatrixDSym&, TVectorD&, TMatrixDSym&);
84 localHelix(
const double*,
const double*,
const double);
86 TMatrixD propagateTo(
const double*,
const double);
111 gear::Vector3D getBFieldc(
const double*)
const;
123 void addPoint(
double,
double,
double);
124 void addTrack(EVENT::Track
const *);
125 int fit(
double&,
int&);
126 TVectorD getPar()
const;
127 TMatrixDSym getCov()
const;
173 void addPoint(
double,
double,
double);
174 int fit(
double&,
int&);
175 TVectorD getPar()
const;
176 TMatrixDSym getCov()
const;
203 #endif // SIMPLEHELIXTRACKMODEL_H
double _sxx
weighted sum(x*x)
double _sx
weighted sum(x)
double _sy
weighted sum(z)
gear::Vector3D _bFieldc
B-field.
double _srr
weighted sum(r*r*r*r)
const double _z0
Z position at distance of closest approach.
simpleHelix(const double, const double, const double, const double, const double, const double *, const double)
Constructor.
TMatrixD analyticalHelixJacobian(const double, const double) const
Get analytical helix propagator (in constant solenoidal magnetic field)
void moveTo(const double, const double, const double, double *)
Change reference point.
const double _eps
cut off for straight line approximation (|relevent scale / R| < _eps)
void dump() const
Dump helix.
TMatrixD _rotation
rotation to local system
TMatrixD _rotInv
rotation from local system
double _syy
weighted sum(z*z)
double _syr
weighted sum(y*r*r)
TMatrixD perigeeToLCIOJacobian() const
Get transformation from helix to LCIO track parameters (at reference point)
gear::Vector3D _trackDir
(global) track direction
double _sy
weighted sum(y)
int _numPoints
number of points (hits) used
void getPosAtArcLength(const double, double *) const
Get position (on helix) at arc length.
const double _phi0
flight direction at point of closest approach (in XY)
const double _yRef
Y of reference point.
const double _yref
Y of reference point.
double _qbyp
Q/P = const !
bool getExpectedPlanePos(const double *, const double, double &, double &, double &, double &, double &) const
Get expected position (and direction) in plane.
double _sxy
weighted sum(s*z)
const double _xref
X of reference point.
TVectorD _parameters
parameter vector
double _syy
weighted sum(y*y)
const double _yRelCenter
XY circle parameter: Y position of center / R.
void getStateAt(const double, const double, const double, TMatrixDSym &, TVectorD &, TMatrixDSym &)
Get state (parameters, covariance matrix) at point.
TMatrixD simplifiedHelixJacobian(const double, const double) const
Get simplified helix propagator (in constant solenoidal magnetic field)
void getZSDirection(double *) const
Get ZS direction (cosLambda, sinLambda).
double _cosLambda
(local) cos(lambda)
double _sr
weighted sum(r*r)
double _sx
weighted sum(s)
const double _dca
distance of closest approach in (XY)
const double _xRelCenter
XY circle parameter: X position of center / R.
double _sxx
weighted sum(s*s)
TMatrixD curvilinearToPerigeeJacobian() const
Get transformation from curivilinear to perigee track parameters (at reference point) ...
TVectorD _parameters
parameter vector
const bool _curved
flag for curved (circle) track
TMatrixDSym _covariance
covariance matrix
const int _npar
number of track parameters (3: circle, 2: line)
TMatrixD perigeeToILDJacobian() const
Get transformation from perigee to L3/ILD track parameters (at reference point)
const double _xRef
X of reference point.
double _sxr
weighted sum(x*r*r)
const double _bzc
Z component of magnetic field (*c)
double _bfac
c * scaling factor (0/1) for magnetic field
const int _npar
number of track parameters (2)
TVectorD _offset
offset of local system
double getArcLengthXY(const double *) const
Get (2D) arc length for given point.
TMatrixDSym _covariance
covariance matrix
TMatrixD helixToLCIOJacobian() const
Get transformation from helix to LCIO track parameters (at reference point)
int _numPoints
number of points (hits) used
double _sxy
weighted sum(x*y)
const double _zref
Z of reference point.