Classes | Typedefs | Functions
lar_cluster3d Namespace Reference

Classes

class  AccumulatorValues
 
class  Cluster3D
 Definition of the Cluster3D class. More...
 
class  ClusterMergeAlg
 
class  ClusterParamsBuilder
 ClusterParamsBuilder class definiton. More...
 
class  ClusterPathFinder
 
class  ConvexHull
 ConvexHull class definiton. More...
 
class  ConvexHullPathFinder
 
class  CopyIfInRange
 
class  DBScanAlg
 DBScanAlg class definiton. More...
 
class  DBScanAlg_DUNE35t
 DBScanAlg_DUNE35t class definiton. More...
 
class  DBScanParams
 a utility class for keeping track of the state of a hit for DBScan More...
 
struct  Hit2DSetCompare
 What follows are several highly useful typedefs which we want to expose to the outside world. More...
 
struct  Hit3DDistanceOrder
 
struct  Hit3DSetCompare
 
struct  HitPairClusterOrder
 
class  HoughSeedFinderAlg
 HoughSeedFinderAlg class. More...
 
class  IClusterAlg
 IClusterAlg interface class definiton. More...
 
class  IClusterModAlg
 IClusterModAlg interface class definiton. More...
 
class  IClusterParametersBuilder
 ClusterParamsBuilder class definiton. More...
 
class  IHit3DBuilder
 IHit3DBuilder interface class definiton. More...
 
class  kdTree
 kdTree class definiton More...
 
class  MinSpanTreeAlg
 
class  MSTPathFinder
 
struct  OrderBestPlanes
 
struct  OrderBestViews
 
class  OrderHitsAlongWire
 
class  ParallelHitsSeedFinderAlg
 ParallelHitsSeedFinderAlg class. More...
 
class  PCASeedFinderAlg
 PCASeedFinderAlg class. More...
 
class  PrincipalComponentsAlg
 Cluster3D class. More...
 
class  SeedFinderAlgBase
 SeedFinderAlgBase class. More...
 
class  SetCheckHitOrder
 
class  SetStartTimeOrder
 
class  SkeletonAlg
 Cluster3D class. More...
 
class  SnippetHit3DBuilder
 SnippetHit3DBuilder class definiton. More...
 
struct  Sort3DHitsByAbsArcLen3D
 
struct  Sort3DHitsByArcLen3D
 
struct  Sort3DHitsByDocaToAxis
 
class  SpacePointHit3DBuilder
 SpacePointHit3DBuilder class definiton. More...
 
class  StandardHit3DBuilder
 StandardHit3DBuilder class definiton. More...
 
class  VoronoiPathFinder
 

Typedefs

using HitVector = std::vector< reco::ClusterHit2D * >
 What follows are several highly useful typedefs which we want to expose to the outside world. More...
 
typedef std::vector< const reco::ClusterHit2D * > HitVectorConst
 
typedef std::map< int, HitVectorHitClusterMap
 
typedef std::map< geo::View_t, HitVectorViewToHitVectorMap
 
typedef std::vector< reco::ClusterHit2DHit2DVector
 
using Hit2DSet = std::set< const reco::ClusterHit2D *, Hit2DSetCompare >
 
using WireToHitSetMap = std::map< unsigned int, Hit2DSet >
 
typedef std::map< geo::View_t, WireToHitSetMapViewToWireToHitSetMap
 
using HitVectorMap = std::map< geo::View_t, HitVector >
 
typedef std::vector< std::unique_ptr< reco::ClusterHit3D > > HitPairVector
 
typedef std::list< std::unique_ptr< reco::ClusterHit3D > > HitPairList
 
typedef std::vector< AccumulatorValuesAccumulatorValuesVec
 
typedef std::pair< recob::Seed, reco::HitPairListPtrSeedHitPairListPair
 
typedef std::vector< SeedHitPairListPairSeedHitPairListPairVec
 
using Hit3DToSPPtrMap = std::unordered_map< const reco::ClusterHit3D *, art::Ptr< recob::SpacePoint >>
 
using RecobHitVector = art::PtrVector< recob::Hit >
 
using RecobSpacePointVector = art::PtrVector< recob::SpacePoint >
 
using HitStartEndPair = std::pair< raw::TDCtick_t, raw::TDCtick_t >
 
using SnippetHitMap = std::map< HitStartEndPair, HitVector >
 
using PlaneToSnippetHitMap = std::map< geo::PlaneID, SnippetHitMap >
 
using TPCToPlaneToSnippetHitMap = std::map< geo::TPCID, PlaneToSnippetHitMap >
 
using Hit2DList = std::list< reco::ClusterHit2D >
 
using PlaneToWireToHitSetMap = std::map< geo::PlaneID, WireToHitSetMap >
 
using TPCToPlaneToWireToHitSetMap = std::map< geo::TPCID, PlaneToWireToHitSetMap >
 
using SnippetHitMapItrPair = std::pair< SnippetHitMap::iterator, SnippetHitMap::iterator >
 
using PlaneSnippetHitMapItrPairVec = std::vector< SnippetHitMapItrPair >
 
using PlaneToHitVectorMap = std::map< geo::PlaneID, HitVector >
 
using TPCToPlaneToHitVectorMap = std::map< geo::TPCID, PlaneToHitVectorMap >
 

Functions

bool SetPositionOrder (const std::unique_ptr< reco::ClusterHit3D > &left, const std::unique_ptr< reco::ClusterHit3D > &right)
 
bool SetPositionOrderZ (const std::unique_ptr< reco::ClusterHit3D > &left, const std::unique_ptr< reco::ClusterHit3D > &right)
 
bool SetPositionOrderX (const std::unique_ptr< reco::ClusterHit3D > &left, const std::unique_ptr< reco::ClusterHit3D > &right)
 
bool SetPositionOrderY (const std::unique_ptr< reco::ClusterHit3D > &left, const std::unique_ptr< reco::ClusterHit3D > &right)
 
bool SetPeakHitPairIteratorOrder (const HitPairList::iterator &left, const HitPairList::iterator &right)
 
bool Hit3DCompare (const reco::ClusterHit3D *left, const reco::ClusterHit3D *right)
 
bool SetPairStartTimeOrder (const reco::ClusterHit3D &left, const reco::ClusterHit3D &right)
 
bool SetHitTimeOrder (const reco::ClusterHit2D *left, const reco::ClusterHit2D *right)
 

Typedef Documentation

Definition at line 118 of file HoughSeedFinderAlg.cxx.

Definition at line 69 of file SnippetHit3DBuilder_tool.cc.

Definition at line 75 of file DBScanAlg_DUNE35t.h.

Definition at line 74 of file DBScanAlg_DUNE35t.h.

using lar_cluster3d::Hit3DToSPPtrMap = typedef std::unordered_map<const reco::ClusterHit3D*, art::Ptr<recob::SpacePoint>>

Definition at line 97 of file Cluster3D_module.cc.

typedef std::map<int, HitVector > lar_cluster3d::HitClusterMap

Definition at line 65 of file DBScanAlg_DUNE35t.h.

typedef std::list<std::unique_ptr<reco::ClusterHit3D> > lar_cluster3d::HitPairList

Definition at line 81 of file DBScanAlg_DUNE35t.h.

Definition at line 80 of file DBScanAlg_DUNE35t.h.

Definition at line 65 of file SnippetHit3DBuilder_tool.cc.

What follows are several highly useful typedefs which we want to expose to the outside world.

Definition at line 63 of file DBScanAlg_DUNE35t.h.

Definition at line 64 of file DBScanAlg_DUNE35t.h.

typedef std::map< size_t, HitVector > lar_cluster3d::HitVectorMap

Definition at line 78 of file DBScanAlg_DUNE35t.h.

Definition at line 76 of file SnippetHit3DBuilder_tool.cc.

Definition at line 63 of file StandardHit3DBuilder_tool.cc.

Definition at line 67 of file SnippetHit3DBuilder_tool.cc.

Definition at line 72 of file SnippetHit3DBuilder_tool.cc.

Definition at line 98 of file Cluster3D_module.cc.

Definition at line 99 of file Cluster3D_module.cc.

Definition at line 20 of file SeedFinderAlgBase.h.

Definition at line 21 of file SeedFinderAlgBase.h.

Definition at line 66 of file SnippetHit3DBuilder_tool.cc.

Definition at line 75 of file SnippetHit3DBuilder_tool.cc.

Definition at line 64 of file StandardHit3DBuilder_tool.cc.

Definition at line 68 of file SnippetHit3DBuilder_tool.cc.

Definition at line 73 of file SnippetHit3DBuilder_tool.cc.

Definition at line 66 of file DBScanAlg_DUNE35t.h.

Definition at line 77 of file DBScanAlg_DUNE35t.h.

typedef std::map< unsigned int, Hit2DSet > lar_cluster3d::WireToHitSetMap

Definition at line 76 of file DBScanAlg_DUNE35t.h.

Function Documentation

bool lar_cluster3d::Hit3DCompare ( const reco::ClusterHit3D left,
const reco::ClusterHit3D right 
)

Definition at line 272 of file HoughSeedFinderAlg.cxx.

273 {
274  return *left < *right;
275 }
bool lar_cluster3d::SetHitTimeOrder ( const reco::ClusterHit2D left,
const reco::ClusterHit2D right 
)

Definition at line 1523 of file SnippetHit3DBuilder_tool.cc.

1524 {
1525  // Sort by "modified start time" of pulse
1526  return left->getHit()->PeakTime() < right->getHit()->PeakTime();
1527 }
const recob::Hit * getHit() const
Definition: Cluster3D.h:78
float PeakTime() const
Time of the signal peak, in tick units.
Definition: Hit.h:218
bool lar_cluster3d::SetPairStartTimeOrder ( const reco::ClusterHit3D left,
const reco::ClusterHit3D right 
)

Definition at line 529 of file SnippetHit3DBuilder_tool.cc.

530 {
531  // Sort by "modified start time" of pulse
532  return left.getAvePeakTime() - left.getSigmaPeakTime() < right.getAvePeakTime() - right.getSigmaPeakTime();
533 }
float getSigmaPeakTime() const
Definition: Cluster3D.h:165
float getAvePeakTime() const
Definition: Cluster3D.h:163
bool lar_cluster3d::SetPeakHitPairIteratorOrder ( const HitPairList::iterator left,
const HitPairList::iterator right 
)

Definition at line 191 of file DBScanAlg_DUNE35t.cxx.

192 {
193  return (*left)->getAvePeakTime() < (*right)->getAvePeakTime();
194 }
bool lar_cluster3d::SetPositionOrder ( const std::unique_ptr< reco::ClusterHit3D > &  left,
const std::unique_ptr< reco::ClusterHit3D > &  right 
)

Definition at line 125 of file DBScanAlg_DUNE35t.cxx.

126 {
127  // The positions in the Y-Z plane are quantized so take advantage of that for ordering
128  // First check that we are in the same "bin" in the z direction
129  if (left->getHits().back()->getHit().WireID().Wire == right->getHits().back()->getHit().WireID().Wire) // These hits are "on the same w wire"
130  {
131  // We can use the U wires as a proxy for ordering hits in increasing Y
132  // where we remember that as Y increases the U wire number decreases
133  if (left->getHits().front()->getHit().WireID().Wire == right->getHits().front()->getHit().WireID().Wire)
134  {
135  // In the time direction we are not quantized at a large enough level to check
136  return left->getX() < right->getX();
137  }
138 
139  return left->getHits().front()->getHit().WireID().Wire > right->getHits().front()->getHit().WireID().Wire;
140  }
141 
142  return left->getHits().back()->getHit().WireID().Wire < right->getHits().back()->getHit().WireID().Wire;
143 }
const ClusterHit2DVec & getHits() const
Definition: Cluster3D.h:171
float getX() const
Definition: Cluster3D.h:159
bool lar_cluster3d::SetPositionOrderX ( const std::unique_ptr< reco::ClusterHit3D > &  left,
const std::unique_ptr< reco::ClusterHit3D > &  right 
)

Definition at line 163 of file DBScanAlg_DUNE35t.cxx.

164 {
165  //Sort by X first, then by Z, then by Y.
166  if( left->getX() == right->getX() ){
167  if( left->getZ() == right->getZ() ){
168  return left->getY() < right->getY();
169  }
170  return left->getZ() < right->getZ();
171  }
172  return left->getX() < right->getX();
173 }
float getY() const
Definition: Cluster3D.h:160
float getZ() const
Definition: Cluster3D.h:161
float getX() const
Definition: Cluster3D.h:159
bool lar_cluster3d::SetPositionOrderY ( const std::unique_ptr< reco::ClusterHit3D > &  left,
const std::unique_ptr< reco::ClusterHit3D > &  right 
)

Definition at line 177 of file DBScanAlg_DUNE35t.cxx.

178 {
179  //Sort by Y first, then by Z, then by X.
180  if( left->getY() == right->getY() ){
181  if( left->getZ() == right->getZ() ){
182  return left->getX() < right->getX();
183  }
184  return left->getZ() < right->getZ();
185  }
186  return left->getY() < right->getY();
187 }
float getY() const
Definition: Cluster3D.h:160
float getZ() const
Definition: Cluster3D.h:161
float getX() const
Definition: Cluster3D.h:159
bool lar_cluster3d::SetPositionOrderZ ( const std::unique_ptr< reco::ClusterHit3D > &  left,
const std::unique_ptr< reco::ClusterHit3D > &  right 
)

Definition at line 148 of file DBScanAlg_DUNE35t.cxx.

149 {
150  //Sort by Z first, then by Y, then by X.
151  if( left->getZ() == right->getZ() ){
152  if( left->getY() == right->getY() ){
153  return left->getX() < right->getX();
154  }
155  return left->getY() < right->getY();
156  }
157  return left->getZ() < right->getZ();
158 }
float getY() const
Definition: Cluster3D.h:160
float getZ() const
Definition: Cluster3D.h:161
float getX() const
Definition: Cluster3D.h:159