1 #ifndef TRACKCREATIONBOOKKEEPER_H 2 #define TRACKCREATIONBOOKKEEPER_H 26 using namespace recob;
35 : ttcbk_(outhits, hasMomenta), tkID_(tkID), pdgHyp_(pdgHyp), totChi2_(0), opts(&optionals), nfittedpars(nfitpars)
51 ttcbk_.
addPoint(point, vect, hit, flag);
52 chi2v.push_back(chi2);
56 addPoint(point, vect, hit, flag, chi2);
60 ttcbk_.addPoint(std::move(point), std::move(vect), hit, std::move(flag));
61 chi2v.push_back(chi2);
65 addPoint(std::move(point), std::move(vect), hit, std::move(flag), chi2);
76 return Track(ttcbk_.finalizeTrackTrajectory(),pdgHyp_,totChi2_,int(chi2v.size())-nfittedpars,
80 return Track(ttcbk_.finalizeTrackTrajectory(),pdgHyp_,totChi2_,int(chi2v.size())-nfittedpars,
81 std::move(covStart),std::move(covEnd),tkID_);
recob::TrajectoryPointFlags PointFlags_t
Type for flags of a point/hit.
tracking::Point_t Point_t
void setTotChi2(double totChi2)
Set the total chi2 value.
Reconstruction base classes.
trkmkr::TrackTrajectoryCreationBookKeeper ttcbk_
void addPoint(Point_t &&point, Vector_t &&vect, art::Ptr< Hit > hit, PointFlags_t &&flag, double chi2)
Add a single point; different version of the functions are provided using const references or rvalue ...
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > SMatrixSym55
recob::tracking::Point_t Point_t
void addPoint(const Point_t &point, const Vector_t &vect, art::Ptr< Hit > hit, const PointFlags_t &flag, double chi2)
Add a single point; different version of the functions are provided using const references or rvalue ...
tracking::Vector_t Vector_t
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
void addPoint(Point_t &&point, Vector_t &&vect, art::Ptr< Hit > hit, PointFlags_t &&flag, double chi2, OptionalPointElement &ope)
Add a single point; different version of the functions are provided using const references or rvalue ...
TrackCreationBookKeeper(std::vector< art::Ptr< Hit > > &outhits, OptionalOutputs &optionals, int tkID, int pdgHyp, bool hasMomenta, int nfitpars=4)
Constructor: needs reference to output hit vector, optional outputs struct, and other parameters need...
Helper class to aid the creation of a recob::TrackTrajectory, keeping data vectors in sync...
Struct holding point-by-point elements used in OptionalOutputs.
Provides recob::Track data product.
Track finalizeTrack(tracking::SMatrixSym55 &&covStart, tracking::SMatrixSym55 &&covEnd)
Get the finalized recob::Track; needs the start and end covariance matrices.
Detector simulation of raw signals on wires.
void addPoint(const Point_t &point, const Vector_t &vect, art::Ptr< Hit > hit, const PointFlags_t &flag, double chi2, OptionalPointElement &ope)
Add a single point; different version of the functions are provided using const references or rvalue ...
recob::tracking::SMatrixSym55 SMatrixSym55
Helper class to aid the creation of a recob::Track, keeping data vectors in sync. ...
TrackCollectionProxyElement< TrackCollProxy > Track
Proxy to an element of a proxy collection of recob::Track objects.
std::vector< double > chi2v
recob::tracking::Vector_t Vector_t
Struct holding optional TrackMaker outputs.
Set of flags pertaining a point of the track.
Track from a non-cascading particle.A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a "fitted" track: