17 #ifdef MARLINTRK_BACKWARD_GEAR_WRAPPERS
18 #include "gearimpl/Vector3D.h"
68 virtual void setMass(
double mass) = 0 ;
83 virtual int initialise(
bool fitDirection ) = 0 ;
98 virtual int fit(
double maxChi2Increment=DBL_MAX ) = 0 ;
114 virtual int smooth() = 0 ;
150 virtual int getNDF(
int& ndf ) = 0 ;
249 #ifdef MARLINTRK_BACKWARD_GEAR_WRAPPERS
252 Vector3D v( point.x(), point.y(), point.z() ) ;
256 Vector3D v( point.x(), point.y(), point.z() ) ;
257 return propagate( v, hit, ts, chi2, ndf ) ;
260 Vector3D v( point.x(), point.y(), point.z() ) ;
264 Vector3D v( point.x(), point.y(), point.z() ) ;
268 Vector3D v( point.x(), point.y(), point.z() ) ;
274 Vector3D v( point.x(), point.y(), point.z() ) ;
280 Vector3D v( point.x(), point.y(), point.z() ) ;
286 Vector3D v( point.x(), point.y(), point.z() ) ;
301 IMarlinTrack&
operator=(
const IMarlinTrack&) ;
virtual int extrapolateToDetElement(int detElementID, IMPL::TrackStateImpl &ts, double &chi2, int &ndf, int mode=modeClosest)=0
extrapolate the fit to sensitive detector element, returning TrackState, chi2 and ndf via reference ...
virtual int smooth()=0
smooth all track states
virtual int propagateToLayer(int layerID, IMPL::TrackStateImpl &ts, double &chi2, int &ndf, int &detElementID, int mode=modeClosest)=0
propagate fit to numbered sensitive layer, returning TrackState, chi2, ndf and integer ID of the inte...
virtual int intersectionWithLayer(int layerID, Vector3D &point, int &detElementID, int mode=modeClosest)=0
extrapolate the fit to numbered sensitive layer, returning intersection point in global coordinates a...
IMarlinTrack & operator=(const IMarlinTrack &)
virtual int getTrackState(IMPL::TrackStateImpl &ts, double &chi2, int &ndf)=0
get track state, returning TrackState, chi2 and ndf via reference
static const bool backward
boolean constant for defining backward direction - to be used for intitialise
virtual int getNDF(int &ndf)=0
get the current number of degrees of freedom for the fit.
static const bool forward
boolean constant for defining backward direction - to be used for intitialise
virtual std::string toString()
Dump this track to a string for debugging - implementation dependant.
virtual int propagate(const Vector3D &point, IMPL::TrackStateImpl &ts, double &chi2, int &ndf)=0
propagate the fit to the point of closest approach to the given point, returning TrackState, chi2 and ndf via reference
static const int modeClosest
static const int bad_intputs
dd4hep::rec::Vector3D Vector3D
the Vector3D used for the tracking interface
virtual int extrapolate(const Vector3D &point, IMPL::TrackStateImpl &ts, double &chi2, int &ndf)=0
extrapolate the fit to the point of closest approach to the given point, returning TrackState...
virtual int getTrackerHitAtPositiveNDF(EVENT::TrackerHit *&trkhit)=0
get TrackeHit at which fit became constrained, i.e.
virtual int extrapolateToLayer(int layerID, IMPL::TrackStateImpl &ts, double &chi2, int &ndf, int &detElementID, int mode=modeClosest)=0
extrapolate the fit to numbered sensitive layer, returning TrackState, chi2, ndf and integer ID of th...
static const int all_sites_fail_fit
virtual int testChi2Increment(EVENT::TrackerHit *hit, double &chi2increment)=0
obtain the chi2 increment which would result in adding the hit to the fit.
Interface for generic tracks in MarlinTrk.
virtual int fit(double maxChi2Increment=DBL_MAX)=0
perform the fit of all current hits, returns error code ( IMarlinTrack::success if no error ) ...
virtual int getOutliers(std::vector< std::pair< EVENT::TrackerHit *, double > > &hits)=0
get the list of hits which have been rejected by from the fit due to the a chi2 increment greater tha...
virtual int addAndFit(EVENT::TrackerHit *hit, double &chi2increment, double maxChi2Increment=DBL_MAX)=0
update the current fit using the supplied hit, return code via int.
static const int site_discarded
virtual int getHitsInFit(std::vector< std::pair< EVENT::TrackerHit *, double > > &hits)=0
get the list of hits included in the fit, together with the chi2 contributions of the hits...
virtual int addHit(EVENT::TrackerHit *hit)=0
add hit to track - the hits have to be added ordered in time ( i.e.
static const int no_intersection
static const int modeBackward
std::string errorCode(int error)
Helper function to convert error return code to string.
virtual double getMass()=0
return the of the charged particle (GeV) that is used for energy loss and multiple scattering...
static const int site_fails_chi2_cut
virtual int propagateToDetElement(int detElementID, IMPL::TrackStateImpl &ts, double &chi2, int &ndf, int mode=modeClosest)=0
propagate the fit to sensitive detector element, returning TrackState, chi2 and ndf via reference ...
static const int modeForward
virtual int intersectionWithDetElement(int detElementID, Vector3D &point, int mode=modeClosest)=0
extrapolate the fit to numbered sensitive detector element, returning intersection point in global co...
virtual void setMass(double mass)=0
set the mass of the charged particle (GeV) that is used for energy loss and multiple scattering - def...
virtual ~IMarlinTrack()
default d'tor
virtual int initialise(bool fitDirection)=0
initialise the fit using the hits added up to this point - the fit direction has to be specified usin...