22 class DetectorPropertiesData;
49 trackFitHitInfo = std::make_unique<recob::TrackFitHitInfo>(std::move(aTrackFitHitInfo));
53 trackFitHitInfo = std::make_unique<recob::TrackFitHitInfo>(aTrackFitHitInfo);
60 auto tmp = *trackFitHitInfo;
61 trackFitHitInfo.reset();
68 spacePoint = std::make_unique<recob::SpacePoint>(aSpacePoint);
72 spacePoint = std::make_unique<recob::SpacePoint>(aSpacePoint);
79 auto tmp = *spacePoint;
110 typedef std::pair<recob::SpacePoint, art::Ptr<recob::Hit>>
SpHitPair;
123 outSpacePointHitPairs->emplace_back(ope.
getSpacePoint(), hptr);
130 if (isTrackFitInfosInit()) {
131 outTrackFitHitInfos.reset();
134 if (isSpacePointsInit()) {
135 outSpacePointHitPairs.reset();
142 outTrackFitHitInfos = std::make_unique<std::vector<recob::TrackFitHitInfo>>();
145 void initSpacePoints() { outSpacePointHitPairs = std::make_unique<std::vector<SpHitPair>>(); }
153 if (!isTrackFitInfosInit())
154 throw std::logic_error(
"outTrackFitHitInfos is not available (any more?).");
155 auto tmp = *outTrackFitHitInfos;
156 outTrackFitHitInfos.reset();
162 if (!isSpacePointsInit())
163 throw std::logic_error(
"outSpacePointHitPairs is not available (any more?).");
164 auto tmp = *outSpacePointHitPairs;
165 outSpacePointHitPairs.reset();
214 return makeTrack(detProp, *ttraj, ttraj.
key(), inHits, outTrack, outHits, optionals);
238 detProp, track->
Trajectory(), track.
key(), inHits, outTrack, outHits, optionals);
bool isTrackFitInfoSet()
check if the recob::TrackFitHitInfo unique_ptr is set
Data product for reconstructed trajectory in space.
void initTrackFitInfos()
initialize the output vector of TrackFitHitInfos
void setTrackFitHitInfo(const recob::TrackFitHitInfo &aTrackFitHitInfo)
const recob::TrackTrajectory & Trajectory() const
Access to the stored recob::TrackTrajectory.
recob::TrackFitHitInfo getTrackFitHitInfo()
get the recob::TrackFitHitInfo object, and reset the unique_ptr
bool isSpacePointSet()
check if the recob::SpacePoint unique_ptr is set
Declaration of signal hit object.
std::unique_ptr< recob::SpacePoint > spacePoint
std::unique_ptr< std::vector< recob::TrackFitHitInfo > > outTrackFitHitInfos
std::unique_ptr< recob::TrackFitHitInfo > trackFitHitInfo
Base abstract class for tools used to fit tracks.
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
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...
A trajectory in space reconstructed from hits.
Object storing per-hit information from a track fit.
Struct holding point-by-point elements used in OptionalOutputs.
key_type key() const noexcept
void setSpacePoint(const recob::SpacePoint &aSpacePoint)
Provides recob::Track data product.
virtual void initEvent(const art::Event &)
per-event initialization; concrete classes may override this function to retrieve other products or a...
Data product for reconstructed trajectory in space.
General LArSoft Utilities.
void addPoint(OptionalPointElement &ope, art::Ptr< recob::Hit > hptr)
add one OptionalPointElement and the corresponding hit
Set of flags pertaining a point of the track.
std::unique_ptr< std::vector< SpHitPair > > outSpacePointHitPairs
std::vector< SpHitPair > spacePointHitPairs()
get the output vector of SpHitPair by releasing and moving
void reset()
reset the stored vectors
recob::SpacePoint getSpacePoint()
get the recob::SpacePoint object, and release the unique_ptr
std::vector< recob::TrackFitHitInfo > trackFitHitInfos()
get the output vector of TrackFitHitInfos by releasing and moving
std::pair< recob::SpacePoint, art::Ptr< recob::Hit > > SpHitPair
void addPoint(OptionalPointElement &ope)
add one OptionalPointElement
bool isTrackFitInfosInit()
check initialization of the output vector of TrackFitHitInfos
void setSpacePoint(recob::SpacePoint &&aSpacePoint)
set the recob::SpacePoint unique_ptr
void setTrackFitHitInfo(recob::TrackFitHitInfo &&aTrackFitHitInfo)
set the recob::TrackFitHitInfo unique_ptr
void initSpacePoints()
initialize the output vector of SpHitPair
Struct holding optional TrackMaker outputs.
Track from a non-cascading particle.A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a "fitted" track:
bool isSpacePointsInit()
check initialization of the output vector of SpHitPair