36 #ifndef genfit_Track_h 37 #define genfit_Track_h 51 class KalmanFitStatus;
103 Track(
AbsTrackRep *trackRep,
const TVector3 &posSeed,
const TVector3 &momSeed);
104 Track(
AbsTrackRep *trackRep,
const TVectorD &stateSeed,
const TMatrixDSym &covSeed);
108 void swap(
Track &other);
111 virtual void Clear(Option_t * =
"");
114 const std::vector<genfit::TrackPoint *> &
getPoints()
const {
return trackPoints_; }
117 TrackPoint *getPointWithMeasurement(
int id)
const;
136 unsigned int getNumReps()
const {
return trackReps_.size(); }
155 bool hasFitStatus(
const AbsTrackRep *rep =
nullptr)
const;
160 rep = getCardinalRep();
161 return fitStatuses_.at(rep);
165 bool hasKalmanFitStatus(
const AbsTrackRep *rep =
nullptr)
const;
177 stateSeed_.ResizeTo(s);
180 void setStateSeed(
const TVector3 &pos,
const TVector3 &mom);
185 covSeed_.ResizeTo(c);
199 void insertPoint(
TrackPoint *point,
int id = -1);
208 void insertPoints(std::vector<genfit::TrackPoint *> points,
int id = -1);
210 void deletePoint(
int id);
223 void mergeTrack(
const Track *other,
int id = -1);
228 void deleteTrackRep(
int id);
230 void setCardinalRep(
int id);
232 void determineCardinalRep();
243 bool udpateSeed(
int id = 0,
AbsTrackRep *rep =
nullptr,
bool biased =
true);
246 void reverseTrackPoints();
267 void deleteForwardInfo(
int startId = 0,
int endId = -1,
269 void deleteBackwardInfo(
int startId = 0,
int endId = -1,
271 void deleteReferenceInfo(
int startId = 0,
int endId = -1,
273 void deleteMeasurementInfo(
int startId = 0,
int endId = -1,
275 void deleteFitterInfo(
int startId = 0,
int endId = -1,
279 double getTrackLen(
AbsTrackRep *rep =
nullptr,
int startId = 0,
int endId = -1)
const;
281 double getTOF(
AbsTrackRep *rep =
nullptr,
int startId = 0,
int endId = -1)
const;
294 void fixWeights(
AbsTrackRep *rep =
nullptr,
int startId = 0,
int endId = -1);
310 void prune(
const Option_t * =
"CFLWRMIU");
312 void Print(
const Option_t * =
"")
const;
314 bool checkConsistency()
const;
317 void trackHasChanged();
319 void fillPointsWithMeasurement();
321 std::vector<AbsTrackRep *> trackReps_;
322 unsigned int cardinalRep_;
324 std::vector<TrackPoint *> trackPoints_;
325 std::vector<TrackPoint *> trackPointsWithMeasurement_;
327 std::map<const AbsTrackRep *, FitStatus *> fitStatuses_;
332 TMatrixDSym covSeed_;
343 #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.