23 #ifndef genfit_TrackPoint_h
24 #define genfit_TrackPoint_h
26 #include "AbsMeasurement.h"
27 #include "AbsFitterInfo.h"
28 #include "ThinScatterer.h"
40 class KalmanFitterInfo;
59 TrackPoint(
const std::vector< genfit::AbsMeasurement* >& rawMeasurements,
Track* track);
78 const std::map<const genfit::AbsTrackRep*, genfit::AbsTrackRep*>& map,
79 const std::vector<const genfit::AbsTrackRep*> * repsToIgnore =
nullptr);
84 double getSortingParameter()
const {
return sortingParameter_;}
89 const std::vector< genfit::AbsMeasurement* >& getRawMeasurements()
const {
return rawMeasurements_;}
100 return (fitterInfos_.find(rep) != fitterInfos_.end());
103 ThinScatterer* getMaterialInfo()
const {
return thinScatterer_.get();}
104 bool hasThinScatterer()
const {
return thinScatterer_.get() !=
nullptr;}
107 void setSortingParameter(
double sortingParameter) {sortingParameter_ = sortingParameter;}
110 void deleteRawMeasurements();
113 void deleteFitterInfo(
const AbsTrackRep* rep) {
delete fitterInfos_[rep]; fitterInfos_.erase(rep);}
115 void setScatterer(ThinScatterer* scatterer) {thinScatterer_.reset(scatterer);}
117 void Print(
const Option_t* =
"")
const;
129 double sortingParameter_;
137 std::map< const AbsTrackRep*, AbsFitterInfo* > fitterInfos_;
147 std::unique_ptr<ThinScatterer> thinScatterer_;
This class collects all information needed and produced by a specific AbsFitter and is specific to on...
Contains the measurement and covariance in raw detector coordinates.
Abstract base class for a track representation.
Collects information needed and produced by a AbsKalmanFitter implementations and is specific to one ...
Object containing AbsMeasurement and AbsFitterInfo objects.
AbsFitterInfo * getFitterInfo(const AbsTrackRep *rep=nullptr) const
Get fitterInfo for rep. Per default, use cardinal rep.
std::map< unsigned int, AbsFitterInfo * > vFitterInfos_
Ownership over FitterInfos.
void fixupRepsForReading()
This function is used when reading the TrackPoint and is called by the owner in order to build fitter...
void addRawMeasurement(genfit::AbsMeasurement *rawMeasurement)
Takes ownership and sets this as measurement's trackPoint.
std::vector< genfit::AbsFitterInfo * > getFitterInfos() const
Get list of all fitterInfos.
std::vector< AbsMeasurement * > rawMeasurements_
No ownership.
void setFitterInfo(genfit::AbsFitterInfo *fitterInfo)
Takes Ownership.
KalmanFitterInfo * getKalmanFitterInfo(const AbsTrackRep *rep=nullptr) const
Helper to avoid casting.
Track * track_
Pointer to Track where TrackPoint belongs to.
Collection of TrackPoint objects, AbsTrackRep objects and FitStatus objects.
Defines for I/O streams used for error and debug printing.