32 sortingParameter_(0), track_(NULL), thinScatterer_(NULL)
38 sortingParameter_(0), track_(track), thinScatterer_(NULL)
44 sortingParameter_(0), track_(track), thinScatterer_(NULL)
48 for (std::vector<AbsMeasurement*>::const_iterator m = rawMeasurements.begin(); m != rawMeasurements.end(); ++m) {
54 sortingParameter_(0), track_(track), thinScatterer_(NULL)
62 sortingParameter_(rhs.sortingParameter_), track_(rhs.track_), thinScatterer_(NULL)
71 for (std::map<const AbsTrackRep*, AbsFitterInfo* >::const_iterator it = rhs.
fitterInfos_.begin(); it != rhs.
fitterInfos_.end(); ++it ) {
82 const std::map<const AbsTrackRep*, AbsTrackRep*>& map,
83 const std::vector<const genfit::AbsTrackRep*> * repsToIgnore) :
84 sortingParameter_(rhs.sortingParameter_), track_(rhs.track_), thinScatterer_(NULL)
93 for (std::map<const AbsTrackRep*, AbsFitterInfo* >::const_iterator it = rhs.
fitterInfos_.begin(); it != rhs.
fitterInfos_.end(); ++it ) {
94 if (repsToIgnore != NULL) {
95 if (std::find(repsToIgnore->begin(), repsToIgnore->end(), it->first) != repsToIgnore->end())
98 AbsFitterInfo* fi = it->second->clone();
99 fi->setRep(map.at(it->first));
100 fi->setTrackPoint(
this);
113 (*it)->setTrackPoint(
this);
116 for (std::map<const AbsTrackRep*, AbsFitterInfo* >::const_iterator it =
fitterInfos_.begin(); it !=
fitterInfos_.end(); ++it ) {
117 it->second->setTrackPoint(
this);
141 std::map< const AbsTrackRep*, AbsFitterInfo* >::iterator it;
156 std::vector< AbsFitterInfo* > retVal;
161 for (std::map<const AbsTrackRep*, AbsFitterInfo* >::const_iterator it =
fitterInfos_.begin(); it !=
fitterInfos_.end(); ++it ) {
162 retVal.push_back(it->second);
172 std::map<const AbsTrackRep*, AbsFitterInfo*>::const_iterator it =
fitterInfos_.find(rep);
194 assert (fitterInfo != NULL);
207 printOut <<
"RawMeasurement Nr. " << i <<
"\n";
212 for (std::map< const AbsTrackRep*, AbsFitterInfo* >::const_iterator it =
fitterInfos_.begin(); it !=
fitterInfos_.end(); ++it ) {
213 printOut <<
"FitterInfo for TrackRep " << it->first <<
"\n";
227 void TrackPoint::Streamer(TBuffer &R__b)
231 typedef ::genfit::TrackPoint thisClass;
233 if (R__b.IsReading()) {
234 Version_t R__v = R__b.ReadVersion(&R__s, &R__c);
if (R__v) { }
238 std::vector<genfit::AbsMeasurement*,std::allocator<genfit::AbsMeasurement*> > &R__stl =
rawMeasurements_;
242 Error(
"rawMeasurements_ streamer",
"Missing the TClass object for genfit::AbsMeasurement!");
247 R__stl.reserve(R__n);
248 for (R__i = 0; R__i < R__n; R__i++) {
251 R__stl.push_back(R__t);
258 for (
size_t i = 0; i < nTrackReps; ++i) {
261 AbsFitterInfo* p = 0;
273 R__b.CheckByteCount(R__s, R__c, thisClass::IsA());
286 R__c = R__b.WriteVersion(thisClass::IsA(), kTRUE);
290 std::vector<genfit::AbsMeasurement*,std::allocator<genfit::AbsMeasurement*> > &R__stl =
rawMeasurements_;
291 int R__n= int(R__stl.size());
294 std::vector<genfit::AbsMeasurement*,std::allocator<genfit::AbsMeasurement*> >::iterator R__k;
295 for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
301 for (std::map<const AbsTrackRep*, AbsFitterInfo*>::const_iterator it =
fitterInfos_.begin();
314 R__b.SetByteCount(R__c, kTRUE);
Contains the measurement and covariance in raw detector coordinates.
AbsTrackRep * getCardinalRep() const
Get cardinal track representation.
bool hasFitterInfo(const AbsTrackRep *rep) const
virtual AbsFitterInfo * clone() const =0
Deep copy ctor for polymorphic class.
void Print(const Option_t *="") const
std::vector< AbsFitterInfo * > vFitterInfos_
Ownership over FitterInfos.
int getIdForRep(const AbsTrackRep *rep) const
This is used when streaming TrackPoints.
void swap(TrackPoint &other)
Track * track_
Pointer to Track where TrackPoint belongs to.
AbsMeasurement * getRawMeasurement(int i=0) const
KalmanFitterInfo * getKalmanFitterInfo(const AbsTrackRep *rep=NULL) const
Helper to avoid casting.
void deleteRawMeasurements()
std::vector< AbsMeasurement * > rawMeasurements_
No ownership.
AbsTrackRep * getTrackRep(int id) const
Abstract base class for a track representation.
void setTrackPoint(const TrackPoint *tp)
Collects information needed and produced by a AbsKalmanFitter implementations and is specific to one ...
std::map< const AbsTrackRep *, AbsFitterInfo * > fitterInfos_
virtual AbsMeasurement * clone() const =0
Deep copy ctor for polymorphic class.
Object containing AbsMeasurement and AbsFitterInfo objects.
TrackPoint & operator=(TrackPoint)
void fixupRepsForReading()
std::vector< genfit::AbsFitterInfo * > getFitterInfos() const
Get list of all fitterInfos.
const AbsTrackRep * getRep() const
boost::scoped_ptr< ThinScatterer > thinScatterer_
Collection of TrackPoint objects, AbsTrackRep objects and FitStatus objects.
void addRawMeasurement(genfit::AbsMeasurement *rawMeasurement)
Takes ownership and sets this as measurement's trackPoint.
AbsFitterInfo * getFitterInfo(const AbsTrackRep *rep=NULL) const
Get fitterInfo for rep. Per default, use cardinal rep.
Defines for I/O streams used for error and debug printing.
This class collects all information needed and produced by a specific AbsFitter and is specific to on...
void setFitterInfo(genfit::AbsFitterInfo *fitterInfo)
Takes Ownership.