33 sortingParameter_(0), track_(NULL), thinScatterer_(NULL)
39 sortingParameter_(0), track_(track), thinScatterer_(NULL)
45 sortingParameter_(0), track_(track), thinScatterer_(NULL)
49 for (std::vector<AbsMeasurement*>::const_iterator
m = rawMeasurements.begin();
m != rawMeasurements.end(); ++
m) {
55 sortingParameter_(0), track_(track), thinScatterer_(NULL)
63 sortingParameter_(rhs.sortingParameter_), track_(rhs.track_), thinScatterer_(NULL)
72 for (std::map<const AbsTrackRep*, AbsFitterInfo* >::const_iterator it = rhs.
fitterInfos_.begin(); it != rhs.
fitterInfos_.end(); ++it ) {
83 const std::map<const AbsTrackRep*, AbsTrackRep*>& map,
84 const std::vector<const genfit::AbsTrackRep*> * repsToIgnore) :
85 sortingParameter_(rhs.sortingParameter_), track_(rhs.track_), thinScatterer_(NULL)
94 for (std::map<const AbsTrackRep*, AbsFitterInfo* >::const_iterator it = rhs.
fitterInfos_.begin(); it != rhs.
fitterInfos_.end(); ++it ) {
95 if (repsToIgnore != NULL) {
96 if (std::find(repsToIgnore->begin(), repsToIgnore->end(), it->first) != repsToIgnore->end())
99 AbsFitterInfo* fi = it->second->clone();
100 fi->setRep(map.at(it->first));
101 fi->setTrackPoint(
this);
114 (*it)->setTrackPoint(
this);
117 for (std::map<const AbsTrackRep*, AbsFitterInfo* >::const_iterator it =
fitterInfos_.begin(); it !=
fitterInfos_.end(); ++it ) {
118 it->second->setTrackPoint(
this);
142 std::map< const AbsTrackRep*, AbsFitterInfo* >::iterator it;
157 std::vector< AbsFitterInfo* > retVal;
162 for (std::map<const AbsTrackRep*, AbsFitterInfo* >::const_iterator it =
fitterInfos_.begin(); it !=
fitterInfos_.end(); ++it ) {
163 retVal.push_back(it->second);
173 std::map<const AbsTrackRep*, AbsFitterInfo*>::const_iterator it =
fitterInfos_.find(rep);
195 assert (fitterInfo != NULL);
204 std::cout <<
"genfit::TrackPoint, belonging to Track " <<
track_ <<
"; sorting parameter = " <<
sortingParameter_ <<
"\n";
208 std::cout <<
"RawMeasurement Nr. " << i <<
"\n";
210 std::cout <<
"............\n";
213 for (std::map< const AbsTrackRep*, AbsFitterInfo* >::const_iterator it =
fitterInfos_.begin(); it !=
fitterInfos_.end(); ++it ) {
214 std::cout <<
"FitterInfo for TrackRep " << it->first <<
"\n";
216 std::cout <<
"............\n";
228void TrackPoint::Streamer(TBuffer &R__b)
234 if (R__b.IsReading()) {
235 Version_t R__v = R__b.ReadVersion(&R__s, &R__c);
if (R__v) { }
239 std::vector<genfit::AbsMeasurement*,std::allocator<genfit::AbsMeasurement*> > &R__stl =
rawMeasurements_;
243 Error(
"rawMeasurements_ streamer",
"Missing the TClass object for genfit::AbsMeasurement!");
248 R__stl.reserve(R__n);
249 for (R__i = 0; R__i < R__n; R__i++) {
252 R__stl.push_back(R__t);
259 for (
size_t i = 0;
i < nTrackReps; ++
i) {
262 AbsFitterInfo*
p = 0;
274 R__b.CheckByteCount(R__s, R__c, thisClass::IsA());
287 R__c = R__b.WriteVersion(thisClass::IsA(), kTRUE);
291 std::vector<genfit::AbsMeasurement*,std::allocator<genfit::AbsMeasurement*> > &R__stl =
rawMeasurements_;
292 int R__n=
int(R__stl.size());
295 std::vector<genfit::AbsMeasurement*,std::allocator<genfit::AbsMeasurement*> >::iterator R__k;
296 for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
302 for (std::map<const AbsTrackRep*, AbsFitterInfo*>::const_iterator it =
fitterInfos_.begin();
315 R__b.SetByteCount(R__c, kTRUE);
This class collects all information needed and produced by a specific AbsFitter and is specific to on...
const AbsTrackRep * getRep() const
virtual AbsFitterInfo * clone() const =0
Deep copy ctor for polymorphic class.
void setTrackPoint(const TrackPoint *tp)
Contains the measurement and covariance in raw detector coordinates.
virtual AbsMeasurement * clone() const =0
Deep copy ctor for polymorphic class.
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.
bool hasFitterInfo(const AbsTrackRep *rep) const
KalmanFitterInfo * getKalmanFitterInfo(const AbsTrackRep *rep=NULL) const
Helper to avoid casting.
std::vector< AbsFitterInfo * > vFitterInfos_
Ownership over FitterInfos.
void deleteRawMeasurements()
TrackPoint & operator=(TrackPoint)
AbsFitterInfo * getFitterInfo(const AbsTrackRep *rep=NULL) const
Get fitterInfo for rep. Per default, use cardinal rep.
std::map< const AbsTrackRep *, AbsFitterInfo * > fitterInfos_
std::vector< genfit::AbsFitterInfo * > getFitterInfos() const
Get list of all fitterInfos.
void addRawMeasurement(genfit::AbsMeasurement *rawMeasurement)
Takes ownership and sets this as measurement's trackPoint.
void swap(TrackPoint &other)
void fixupRepsForReading()
void setFitterInfo(genfit::AbsFitterInfo *fitterInfo)
Takes Ownership.
AbsMeasurement * getRawMeasurement(int i=0) const
Track * track_
Pointer to Track where TrackPoint belongs to.
void Print(const Option_t *="") const
std::vector< AbsMeasurement * > rawMeasurements_
No ownership.
boost::scoped_ptr< ThinScatterer > thinScatterer_
Collection of TrackPoint objects, AbsTrackRep objects and FitStatus objects.
AbsTrackRep * getTrackRep(int id) const
int getIdForRep(const AbsTrackRep *rep) const
This is used when streaming TrackPoints.
AbsTrackRep * getCardinalRep() const
Get cardinal track representation.