24 #ifndef genfit_Track_h
25 #define genfit_Track_h
40 class KalmanFitStatus;
96 Track(
AbsTrackRep* trackRep,
const TVector3& posSeed,
const TVector3& momSeed);
97 Track(
AbsTrackRep* trackRep,
const TVectorD& stateSeed,
const TMatrixDSym& covSeed);
104 virtual void Clear(Option_t* =
"");
188 void insertPoints(std::vector<genfit::TrackPoint*> points,
int id = -1);
283 void prune(
const Option_t* =
"CFLWRMIU");
285 void Print(
const Option_t* =
"")
const;
318 #endif // genfit_Track_h
Track candidate – seed values and indices.
int getMcTrackId() const
Get the MCT track id, for MC simulations - default value = -1.
std::map< const AbsTrackRep *, FitStatus * > fitStatuses_
helper
unsigned int getNumReps() const
void fillPointsWithMeasurement()
void Print(const Option_t *="") const
bool checkConsistency() const
bool hasKalmanFitStatus(const AbsTrackRep *rep=NULL) const
Check if track has a KalmanFitStatus for given AbsTrackRep. Per default, check for cardinal rep...
KalmanFitStatus * getKalmanFitStatus(const AbsTrackRep *rep=NULL) const
If FitStatus is a KalmanFitStatus, return it. Otherwise return NULL.
double getTrackLen(AbsTrackRep *rep=NULL, int startId=0, int endId=-1) const
get TrackLength between to trackPoints (if NULL, for cardinal rep)
void determineCardinalRep()
See with which AbsTrackRep the track was fitted best (converged fit w/ smallest chi2) and set the car...
void setMcTrackId(int i)
Set the MCT track id, for MC simulations.
void mergeTrack(const Track *other, int id=-1)
Merge two tracks.
std::vector< TrackPoint * > trackPoints_
void setStateSeed(const TVectorD &s)
const TVectorD & getStateSeed() const
double getTOF(AbsTrackRep *rep=NULL, int startId=0, int endId=-1) const
get time of flight in ns between to trackPoints (if NULL, for cardinal rep)
Class where important numbers and properties of a fit can be stored.
TrackPoint * getPointWithMeasurement(int id) const
Collection of TrackPoint objects, AbsTrackRep objects and FitStatus objects.
bool operator()(const TrackPoint *lhs, const TrackPoint *rhs) const
const std::vector< genfit::TrackPoint * > & getPointsWithMeasurement() const
Abstract base class for a track representation.
Helper class for TrackPoint sorting, used in Track::sort().
StateOnPlane with additional covariance matrix.
std::vector< TrackPoint * > trackPointsWithMeasurement_
unsigned int getNumPointsWithMeasurement() const
unsigned int cardinalRep_
void switchPDGSigns(AbsTrackRep *rep=NULL)
Switch the pdg signs of specified rep (of all reps if rep == NULL).
double getSortingParameter() const
void deleteTrackRep(int id)
Delete a AbsTrackRep and all corresponding AbsFitterInfo objects in every TrackPoint.
TrackPoint * getPointWithMeasurementAndFitterInfo(int id, const AbsTrackRep *rep) const
double getTimeSeed() const
TrackPoint * getPointWithFitterInfo(int id, const AbsTrackRep *rep=NULL) const
void reverseTrackPoints()
Flip the ordering of the TrackPoints.
FitStatus for use with AbsKalmanFitter implementations.
void reverseTrack()
Make track ready to be fitted in reverse direction.
void deleteMeasurementInfo(int startId=0, int endId=-1, const AbsTrackRep *rep=NULL)
void deleteFitterInfo(int startId=0, int endId=-1, const AbsTrackRep *rep=NULL)
FitStatus * getFitStatus(const AbsTrackRep *rep=NULL) const
Get FitStatus for a AbsTrackRep. Per default, return FitStatus for cardinalRep.
void insertMeasurement(AbsMeasurement *measurement, int id=-1)
Creates a new TrackPoint containing the measurement, and adds it to the track.
const std::vector< genfit::TrackPoint * > & getPoints() const
void setTimeSeed(double time)
unsigned int getNumPoints() const
void deleteForwardInfo(int startId=0, int endId=-1, const AbsTrackRep *rep=NULL)
void setCardinalRep(int id)
void reverseMomSeed()
Flip direction of momentum seed.
void setCovSeed(const TMatrixDSym &c)
Object containing AbsMeasurement and AbsFitterInfo objects.
AbsTrackRep * getCardinalRep() const
Get cardinal track representation.
void addTrackRep(AbsTrackRep *trackRep)
AbsTrackRep * getTrackRep(int id) const
void insertPoint(TrackPoint *point, int id=-1)
Insert TrackPoint BEFORE TrackPoint with position id, if id >= 0.
unsigned int getCardinalRepId() const
TrackCand * constructTrackCand() const
Construct a new TrackCand containing the hit IDs of the measurements.
void deleteReferenceInfo(int startId=0, int endId=-1, const AbsTrackRep *rep=NULL)
int getIdForRep(const AbsTrackRep *rep) const
This is used when streaming TrackPoints.
std::vector< AbsTrackRep * > trackReps_
TrackPoint * getPoint(int id) const
bool sort()
Sort TrackPoint and according to their sorting parameters.
bool udpateSeed(int id=0, AbsTrackRep *rep=NULL, bool biased=true)
const TMatrixDSym & getCovSeed() const
void insertPoints(std::vector< genfit::TrackPoint * > points, int id=-1)
Insert TrackPoints BEFORE TrackPoint with position id, if id >= 0.
void fixWeights(AbsTrackRep *rep=NULL, int startId=0, int endId=-1)
Contains the measurement and covariance in raw detector coordinates.
void setFitStatus(FitStatus *fitStatus, const AbsTrackRep *rep)
const MeasuredStateOnPlane & getFittedState(int id=0, const AbsTrackRep *rep=NULL, bool biased=true) const
Shortcut to get FittedStates.
bool hasFitStatus(const AbsTrackRep *rep=NULL) const
Check if track has a FitStatus for given AbsTrackRep. Per default, check for cardinal rep...
virtual void Clear(Option_t *="")
void deleteBackwardInfo(int startId=0, int endId=-1, const AbsTrackRep *rep=NULL)
void prune(const Option_t *="CFLWRMIU")
Delete unneeded information from the Track.