1 #ifndef MarlinAidaTTTrack_h
2 #define MarlinAidaTTTrack_h
7 #include "aidaTT/AidaTT.hh"
83 int fit(
double maxChi2Increment=DBL_MAX ) ;
242 while( phi <= -
M_PI ){ phi += 2. *
M_PI ; }
243 while( phi >
M_PI ){ phi -= 2. *
M_PI ; }
249 aidaTT::trackParameters
createPreFit(aidaTT::trackParameters& tp ) ;
int fit(double maxChi2Increment=DBL_MAX)
perform the fit of all current hits, returns error code ( IMarlinTrack::success if no error ) ...
int initialise(bool)
initialise the fit using the hits added up to this point - the fit direction has to be specified usin...
int extrapolateToDetElement(int detElementID, IMPL::TrackStateImpl &ts, double &chi2, int &ndf, int mode=modeClosest)
extrapolate the fit to sensitive detector element, returning TrackState, chi2 and ndf via reference ...
int intersectionWithLayer(int layerID, Vector3D &point, int &detElementID, int mode=modeClosest)
extrapolate the fit to numbered sensitive layer, returning intersection point in global coordinates a...
int getTrackState(IMPL::TrackStateImpl &ts, double &chi2, int &ndf)
get track state, returning TrackState, chi2 and ndf via reference
void getHitInfo(const EVENT::TrackerHit *hit, double *hitpos, std::vector< double > &precision, const aidaTT::ISurface *surf)
Interface to KaltTest Kalman fitter - instantiates and holds the detector geometry.
int propagateToLayer(int layerID, IMPL::TrackStateImpl &ts, double &chi2, int &ndf, int &detElementID, int mode=modeClosest)
propagate the fit to the numbered sensitive layer, returning TrackState, chi2, ndf and integer ID of ...
int myInit()
common initialization
double toBaseRange(double phi) const
helper function to restrict the range of the azimuthal angle to ]-pi,pi]
static const int modeClosest
int intersectionWithDetElement(int detElementID, Vector3D &point, int mode=modeClosest)
extrapolate the fit to numbered sensitive detector element, returning intersection point in global co...
std::string toString()
Dump this track to a string for debugging.
int extrapolate(const Vector3D &point, IMPL::TrackStateImpl &ts, double &chi2, int &ndf)
extrapolate the fit to the point of closest approach to the given point, returning TrackState...
int testChi2Increment(EVENT::TrackerHit *, double &)
this method has no effect for aidaTT/GBL ...
dd4hep::rec::Vector3D Vector3D
the Vector3D used for the tracking interface
aidaTT::trackParameters createPreFit(aidaTT::trackParameters &tp)
const std::vector< std::pair< double, const aidaTT::ISurface * > > * _intersections
int getOutliers(std::vector< std::pair< EVENT::TrackerHit *, double > > &)
this method has no effect for aidaTT/GBL ...
std::map< int, int > _indexMap
int getHitsInFit(std::vector< std::pair< EVENT::TrackerHit *, double > > &hits)
get the list of hits included in the fit, together with the chi2 contributions of the hits...
aidaTT::trajectory * _fitTrajectory
MarlinAidaTTTrack & operator=(const MarlinAidaTTTrack &)
int propagateToDetElement(int detElementID, IMPL::TrackStateImpl &ts, double &chi2, int &ndf, int mode=modeClosest)
propagate the fit to sensitive detector element, returning TrackState, chi2 and ndf via reference ...
Interface for generic tracks in MarlinTrk.
int smooth()
this method has no effect for aidaTT/GBL ...
int addAndFit(EVENT::TrackerHit *, double &, double)
this method has no effect for aidaTT/GBL ...
int getTrackerHitAtPositiveNDF(EVENT::TrackerHit *&trkhit)
get TrackeHit at which fit became constrained, i.e.
int extrapolateToLayer(int layerID, IMPL::TrackStateImpl &ts, double &chi2, int &ndf, int &detElementID, int mode=modeClosest)
extrapolate the fit to numbered sensitive layer, returning TrackState via provided reference ...
int propagate(const Vector3D &point, IMPL::TrackStateImpl &ts, double &chi2, int &ndf)
propagate the fit to the point of closest approach to the given point, returning TrackState, chi2 and ndf via reference
int getNDF(int &ndf)
get the current number of degrees of freedom for the fit.
void setMass(double mass)
set the mass of the charged particle (GeV) that is used for energy loss and multiple scattering - def...
bool _smoothed
used to store whether smoothing has been performed
std::vector< EVENT::TrackerHit * > _lcioHits
bool _initialised
used to store whether initial track state has been supplied or created
double getMass()
return the of the charged particle (GeV) that is used for energy loss and multiple scattering...
int addHit(EVENT::TrackerHit *hit)
add hit to track - the hits have to be added ordered in time ( i.e.
aidaTT::trackParameters _initialTrackParams
MarlinAidaTTTrack(MarlinAidaTT *aidaTT)