MarlinTPC
1.2.0
|
Simple implementation of a track fitter.
More...
#include <TrackFitterSimpleChiSquare.h>
Public Member Functions | |
TrackFitterSimpleChiSquare (double transDefocussing, double longDefocussing, double transDiffusion, double longDiffusion, double zAnode) | |
Constructor for ![]() | |
virtual std::string | getRevision () const |
returns the revision of this implementation and of the TrackFitterBase it is derrived from | |
virtual IMPL::TrackImpl * | fitTrack (EVENT::Track const *seedTrack) const |
The actual fitter. Not implemented yet, thows gear::NotImplementedException. More... | |
virtual unsigned char | getFitterType () const |
returns "SimpleChiSquare" | |
virtual double | getTransDefocussing () const |
The transverse defocussing in the readout structure ![]() | |
virtual double | getLongDefocussing () const |
The longitudinal defocussing in the readout structure ![]() | |
virtual double | getTransDiffusionCoef () const |
The transverse diffusion coefficient (in mm/ ![]() | |
virtual double | getLongDiffusionCoef () const |
The longitudinal diffusion coefficient (in mm/ ![]() | |
virtual double | getZAnode () const |
The z coordinate of the readout anode (termination of drift volume) | |
![]() | |
TrackFitterBase () | |
The Constructor. More... | |
virtual EVENT::DoubleVec | calculateResiduals (EVENT::Track const *testTrack, unsigned int testHitNumber, EVENT::Track const *referenceTrack=NULL) const |
Return the distance of the hit testHitNumber of the testTrack to the point of closest approach on the referenceTrack wrt. the hit. More... | |
virtual EVENT::DoubleVec | calculateResiduals (EVENT::TrackerHit const *testHit, EVENT::Track const *trackWithoutTestHit) const |
Return the distance of the given hit to the test track where this hit has been removed. More... | |
void | setD0Start (double d0) |
Set a d0 start value for the fit. More... | |
void | setPhiStart (double phi) |
Set a phi start value for the fit. More... | |
void | setOmegaStart (double omega) |
Set a omega start value for the fit. More... | |
void | setTanLambdaStart (double tanLambda) |
Set a tanLambda start value for the fit. More... | |
void | setZ0Start (double z0) |
Set a z0 start value for the fit. More... | |
void | setNoZFitFlag (bool noZFit=true) |
Switch to turn off the fitting in z. More... | |
bool | getNoZFitFlag () const |
Get the noZFit flag. | |
void | fixD0 (bool fix=true) |
Fix or release d0. | |
void | fixPhi (bool fix=true) |
Fix or release phi. | |
void | fixOmega (bool fix=true) |
Fix or release omega. | |
void | fixTanLambda (bool fix=true) |
Fix or release tanLambda. | |
void | fixZ0 (bool fix=true) |
Fix or release z0. | |
Static Public Member Functions | |
static TrackFitterBase * | getInstance (LCParameters const *parameters) |
Well defined interface to create a new instance of the track fitter. | |
![]() | |
static void | setTrackFitterType (unsigned char type, IMPL::TrackImpl *track) |
Convenience function to set bits 16-23 to be the track type. | |
static unsigned char | getFitterTypeFromTrack (int trackTypeWord) |
Convenicene function to get the tracker type out of the trackType word. | |
Protected Attributes | |
double | _transDefocussing |
The defocussing and diffusion coefficients. | |
double | _longDefocussing |
double | _transDiffusion |
double | _longDiffusion |
double | _zAnode |
The z coordinate of the readout anode. | |
![]() | |
double | _d0Start |
The start value for the fit and a flag whether to apply d0Start or the value from the seed track. | |
bool | _useD0Start |
double | _phiStart |
The start value for the fit and a flag whether to apply phiStart or the value from the seed track. | |
bool | _usePhiStart |
double | _omegaStart |
The start value for the fit and a flag whether to apply omegaStart or the value from the seed track. | |
bool | _useOmegaStart |
double | _tanLambdaStart |
The start value for the fit and a flag whether to apply tanLambdaStart or the value from the seed track. | |
bool | _useTanLambdaStart |
double | _z0Start |
The start value for the fit and a flag whether to apply z0Start or the value from the seed track. | |
bool | _useZ0Start |
bool | _noZFit |
flag whether to perform a 2D or a 3D fit | |
bool | _fixD0 |
flags whether to fix a fit parameter | |
bool | _fixPhi |
bool | _fixOmega |
bool | _fixTanLambda |
bool | _fixZ0 |
Additional Inherited Members | |
![]() | |
static const unsigned char | FITFAILEDBIT = 30 |
Bit 30 in the TrackType word is fit failed. | |
![]() | |
double | distanceOnCircle (double phi1, double phi2) const |
Calculate the angular distance on a circle. More... | |
Simple implementation of a track fitter.
It uses the getResiduals functions derrived from TrackFitterBase. The error of each hit are calculated according to
The function minimised is
|
virtual |
The actual fitter. Not implemented yet, thows gear::NotImplementedException.
!!!FIXME!!! don't hardcode these limits
Implements marlintpc::TrackFitterBase.
Reimplemented in marlintpc::TrackFitterSimpleChiSquarePads.
References marlintpc::TrackFitterBase::_d0Start, marlintpc::TrackFitterBase::_fixD0, marlintpc::TrackFitterBase::_noZFit, marlintpc::TrackFitterBase::_omegaStart, marlintpc::TrackFitterBase::_phiStart, marlintpc::TrackFitterBase::_tanLambdaStart, marlintpc::TrackFitterBase::_z0Start, _zAnode, marlintpc::TrackFitterBase::FITFAILEDBIT, getFitterType(), and marlintpc::TrackFitterBase::setTrackFitterType().
Referenced by marlintpc::TrackFitterSimpleChiSquarePads::fitTrack().