55 #ifndef SPACEPOINTALG_H
56 #define SPACEPOINTALG_H
61 #include "canvas/Persistency/Common/Ptr.h"
62 #include "canvas/Persistency/Common/PtrVector.h"
68 class DetectorClocksData;
69 class DetectorPropertiesData;
135 double separation(
const art::PtrVector<recob::Hit>& hits)
const;
140 const art::PtrVector<recob::Hit>& hits,
141 bool useMC =
false)
const;
146 const art::PtrVector<recob::Hit>& hits,
147 std::vector<recob::SpacePoint>& sptv,
152 std::vector<recob::SpacePoint>& spts,
153 std::multimap<double, KHitTrack>
const& trackMap)
const;
159 const art::PtrVector<recob::Hit>& hits,
160 std::vector<recob::SpacePoint>& sptv,
167 const art::PtrVector<recob::Hit>& hits,
168 std::vector<recob::SpacePoint>& spts)
const;
173 const art::PtrVector<recob::Hit>& hits,
174 std::vector<recob::SpacePoint>& spts)
const;
199 const art::PtrVector<recob::Hit>& hits,
200 std::vector<recob::SpacePoint>& spts,
223 std::vector<const recob::Hit*>
pchit;
226 mutable std::map<const recob::Hit*, HitMCInfo>
fHitMCMap;
227 mutable std::map<int, art::PtrVector<recob::Hit>>
fSptHitMap;
bool merge() const noexcept
std::vector< const recob::Hit * > pchit
Pointer to nearest neighbor hit (indexed by plane).
std::map< const recob::Hit *, HitMCInfo > fHitMCMap
double fTickOffsetU
Tick offset for plane U.
double fMaxDT
Maximum time difference between planes.
Declaration of signal hit object.
void update(detinfo::DetectorPropertiesData const &detProp) const
std::vector< double > dist2
Distance to nearest neighbor hit (indexed by plane).
bool fEnableW
Enable flag (W).
std::vector< int > trackIDs
Parent trackIDs.
bool filter() const noexcept
double maxDT() const noexcept
bool enableV() const noexcept
const art::PtrVector< recob::Hit > & getAssociatedHits(const recob::SpacePoint &spt) const
void makeMCTruthSpacePoints(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const art::PtrVector< recob::Hit > &hits, std::vector< recob::SpacePoint > &spts) const
double separation(const art::PtrVector< recob::Hit > &hits) const
SpacePointAlg(const fhicl::ParameterSet &pset)
bool fEnableU
Enable flag (U).
std::map< int, art::PtrVector< recob::Hit > > fSptHitMap
std::vector< double > xyz
Location of ionization (all tracks).
void makeSpacePoints(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const art::PtrVector< recob::Hit > &hits, std::vector< recob::SpacePoint > &spts) const
bool enableU() const noexcept
void fillComplexSpacePoint(detinfo::DetectorPropertiesData const &detProp, const art::PtrVector< recob::Hit > &hits, std::vector< recob::SpacePoint > &sptv, int sptid) const
double fMaxS
Maximum space separation between wires.
double correctedTime(detinfo::DetectorPropertiesData const &detProp, const recob::Hit &hit) const
bool fPreferColl
Sort by collection wire.
double maxS() const noexcept
void fillSpacePoints(detinfo::DetectorPropertiesData const &detProp, std::vector< recob::SpacePoint > &spts, std::multimap< double, KHitTrack > const &trackMap) const
Fill a collection of space points.
double fTickOffsetV
Tick offset for plane V.
Contains all timing reference information for the detector.
double fTickOffsetW
Tick offset for plane W.
bool compatible(detinfo::DetectorPropertiesData const &detProp, const art::PtrVector< recob::Hit > &hits, bool useMC=false) const
bool enableW() const noexcept
int fMinViews
Mininum number of views per space point.
2D representation of charge deposited in the TDC/wire plane
void fillSpacePoint(detinfo::DetectorPropertiesData const &detProp, const art::PtrVector< recob::Hit > &hits, std::vector< recob::SpacePoint > &sptv, int sptid) const
int minViews() const noexcept
bool fEnableV
Enable flag (V).