LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Base abstract class for tools used to fit tracks. More...
#include "TrackMaker.h"
Public Member Functions | |
virtual | ~TrackMaker () noexcept=default |
virtual void | initEvent (const art::Event &) |
per-event initialization; concrete classes may override this function to retrieve other products or associations from the event. More... | |
bool | makeTrack (const detinfo::DetectorPropertiesData &detProp, const art::Ptr< recob::TrackTrajectory > ttraj, const std::vector< art::Ptr< recob::Hit >> &inHits, recob::Track &outTrack, std::vector< art::Ptr< recob::Hit >> &outHits, OptionalOutputs &optionals) const |
makeTrack functions with art::Ptr<recob::TrackTrajectory>; calls the purely virtual version with const recob::TrackTrajectory reference as argument. More... | |
virtual bool | makeTrack (const detinfo::DetectorPropertiesData &detProp, const recob::TrackTrajectory &ttraj, const int tkID, const std::vector< art::Ptr< recob::Hit >> &inHits, recob::Track &outTrack, std::vector< art::Ptr< recob::Hit >> &outHits, OptionalOutputs &optionals) const =0 |
bool | makeTrack (const detinfo::DetectorPropertiesData &detProp, const art::Ptr< recob::Track > track, const std::vector< art::Ptr< recob::Hit >> &inHits, recob::Track &outTrack, std::vector< art::Ptr< recob::Hit >> &outHits, OptionalOutputs &optionals) const |
Base abstract class for tools used to fit tracks.
The virtual function makeTrack comes in different versions, one for each possible input (Trajectory, TrackTrajectory, Track), both using const references and art pointers as input). The functions return a bool corresponding to the success or failure status of the fit.
The only purely virtual function is the one for input Trajectories (by default the other two just forward the call to it). Its arguments are the const inputs (Trajectory, TrajectoryPointFlags, track ID) and the non-const ouputs (mandatory: outTrack and outHits; optional outputs stored in OptionalOutputs).
In case other products are needed from the event (e.g. associations to the input), they can be retrieved overriding the initEvent function.
The tool is not meant to put collections in the event.
Requirements are that a Track has at least 2 points, that it has the same number of Points and Momenta, that TrajectoryPoints and Hit have a 1-1 correspondance (same number and same order).
Definition at line 199 of file TrackMaker.h.
|
virtualdefaultnoexcept |
|
inlinevirtual |
per-event initialization; concrete classes may override this function to retrieve other products or associations from the event.
Reimplemented in trkmkr::KalmanFilterFitTrackMaker.
Definition at line 204 of file TrackMaker.h.
|
inline |
makeTrack functions with art::Ptr<recob::TrackTrajectory>; calls the purely virtual version with const recob::TrackTrajectory reference as argument.
Definition at line 207 of file TrackMaker.h.
References art::Ptr< T >::key(), track, recob::Track::Trajectory(), and lar::dump::vector().
|
pure virtual |
makeTrack functions with const recob::TrackTrajectory reference as argument: purely virtual, to be implemented in concrete classes.
Implemented in trkmkr::KalmanFilterFitTrackMaker.
|
inline |
makeTrack functions with recob::Track as argument; calls the version with recob::TrackTrajectory.
Definition at line 230 of file TrackMaker.h.