LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
trkmkr::TrackMaker Class Referenceabstract

Base abstract class for tools used to fit tracks. More...

#include "TrackMaker.h"

Inheritance diagram for trkmkr::TrackMaker:
trkmkr::KalmanFilterFitTrackMaker

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
 

Detailed Description

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).

Author
G. Cerati (FNAL, MicroBooNE)
Date
2017
Version
1.0

Definition at line 199 of file TrackMaker.h.

Constructor & Destructor Documentation

virtual trkmkr::TrackMaker::~TrackMaker ( )
virtualdefaultnoexcept

Member Function Documentation

virtual void trkmkr::TrackMaker::initEvent ( const art::Event )
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.

204 {}
bool trkmkr::TrackMaker::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
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().

213  {
214  return makeTrack(detProp, *ttraj, ttraj.key(), inHits, outTrack, outHits, optionals);
215  }
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 cons...
Definition: TrackMaker.h:207
key_type key() const noexcept
Definition: Ptr.h:166
virtual bool trkmkr::TrackMaker::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
pure virtual

makeTrack functions with const recob::TrackTrajectory reference as argument: purely virtual, to be implemented in concrete classes.

Implemented in trkmkr::KalmanFilterFitTrackMaker.

bool trkmkr::TrackMaker::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
inline

makeTrack functions with recob::Track as argument; calls the version with recob::TrackTrajectory.

Definition at line 230 of file TrackMaker.h.

236  {
237  return makeTrack(
238  detProp, track->Trajectory(), track.key(), inHits, outTrack, outHits, optionals);
239  }
const recob::TrackTrajectory & Trajectory() const
Access to the stored recob::TrackTrajectory.
Definition: Track.h:132
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 cons...
Definition: TrackMaker.h:207
key_type key() const noexcept
Definition: Ptr.h:166

The documentation for this class was generated from the following file: