24 #ifndef genfit_Track_h 25 #define genfit_Track_h 39 class KalmanFitStatus;
91 Track(
AbsTrackRep *trackRep,
const TVector3 &posSeed,
const TVector3 &momSeed);
92 Track(
AbsTrackRep *trackRep,
const TVectorD &stateSeed,
const TMatrixDSym &covSeed);
96 void swap(
Track &other);
99 virtual void Clear(Option_t * =
"");
102 const std::vector<genfit::TrackPoint *> &
getPoints()
const {
return trackPoints_; }
105 TrackPoint *getPointWithMeasurement(
int id)
const;
124 unsigned int getNumReps()
const {
return trackReps_.size(); }
143 bool hasFitStatus(
const AbsTrackRep *rep =
nullptr)
const;
148 rep = getCardinalRep();
149 return fitStatuses_.at(rep);
153 bool hasKalmanFitStatus(
const AbsTrackRep *rep =
nullptr)
const;
165 stateSeed_.ResizeTo(s);
168 void setStateSeed(
const TVector3 &pos,
const TVector3 &mom);
173 covSeed_.ResizeTo(c);
187 void insertPoint(
TrackPoint *point,
int id = -1);
196 void insertPoints(std::vector<genfit::TrackPoint *> points,
int id = -1);
198 void deletePoint(
int id);
211 void mergeTrack(
const Track *other,
int id = -1);
216 void deleteTrackRep(
int id);
218 void setCardinalRep(
int id);
220 void determineCardinalRep();
231 bool udpateSeed(
int id = 0,
AbsTrackRep *rep =
nullptr,
bool biased =
true);
234 void reverseTrackPoints();
255 void deleteForwardInfo(
int startId = 0,
int endId = -1,
257 void deleteBackwardInfo(
int startId = 0,
int endId = -1,
259 void deleteReferenceInfo(
int startId = 0,
int endId = -1,
261 void deleteMeasurementInfo(
int startId = 0,
int endId = -1,
263 void deleteFitterInfo(
int startId = 0,
int endId = -1,
267 double getTrackLen(
AbsTrackRep *rep =
nullptr,
int startId = 0,
int endId = -1)
const;
269 double getTOF(
AbsTrackRep *rep =
nullptr,
int startId = 0,
int endId = -1)
const;
282 void fixWeights(
AbsTrackRep *rep =
nullptr,
int startId = 0,
int endId = -1);
298 void prune(
const Option_t * =
"CFLWRMIU");
300 void Print(
const Option_t * =
"")
const;
302 bool checkConsistency()
const;
305 void trackHasChanged();
307 void fillPointsWithMeasurement();
309 std::vector<AbsTrackRep *> trackReps_;
310 unsigned int cardinalRep_;
312 std::vector<TrackPoint *> trackPoints_;
313 std::vector<TrackPoint *> trackPointsWithMeasurement_;
315 std::map<const AbsTrackRep *, FitStatus *> fitStatuses_;
320 TMatrixDSym covSeed_;
331 #endif // genfit_Track_h Track candidate – seed values and indices.
void setMcTrackId(int i)
Set the MCT track id, for MC simulations.
void setStateSeed(const TVectorD &s)
const std::vector< genfit::TrackPoint * > & getPoints() const
Class where important numbers and properties of a fit can be stored.
Collection of TrackPoint objects, AbsTrackRep objects and FitStatus objects.
double getSortingParameter() const
const std::vector< genfit::TrackPoint * > & getPointsWithMeasurement() const
bool operator()(const TrackPoint *lhs, const TrackPoint *rhs) const
Abstract base class for a track representation.
Helper class for TrackPoint sorting, used in Track::sort().
StateOnPlane with additional covariance matrix.
unsigned int getNumReps() const
double getTimeSeed() const
int getMcTrackId() const
Get the MCT track id, for MC simulations - default value = -1.
FitStatus for use with AbsKalmanFitter implementations.
void setTimeSeed(double time)
unsigned int getNumPointsWithMeasurement() const
const TMatrixDSym & getCovSeed() const
void reverseMomSeed()
Flip direction of momentum seed.
unsigned int getCardinalRepId() const
void setCovSeed(const TMatrixDSym &c)
Object containing AbsMeasurement and AbsFitterInfo objects.
unsigned int getNumPoints() const
const TVectorD & getStateSeed() const
AbsTrackRep * getCardinalRep() const
Get cardinal track representation.
Contains the measurement and covariance in raw detector coordinates.
AbsTrackRep * getTrackRep(int id) const
FitStatus * getFitStatus(const AbsTrackRep *rep=nullptr) const
Get FitStatus for a AbsTrackRep. Per default, return FitStatus for cardinalRep.