LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
reco::ClusterParameters Class Reference

#include "Cluster3D.h"

Public Member Functions

 ClusterParameters ()
 
 ClusterParameters (reco::HitPairClusterMap::iterator &mapItr)
 
 ClusterParameters (reco::HitPairListPtr &hitList)
 
ClusterParametersListdaughterList ()
 
void UpdateParameters (const reco::ClusterHit2D *hit)
 
void addHit3D (const reco::ClusterHit3D *hit3D)
 
void fillHit2DToHit3DListMap ()
 
reco::PlaneToClusterParamsMapgetClusterParams ()
 
reco::Hit2DToHit3DListMapgetHit2DToHit3DListMap ()
 
reco::HitPairListPtrgetHitPairListPtr ()
 
reco::PrincipalComponentsgetFullPCA ()
 
reco::PrincipalComponentsgetSkeletonPCA ()
 
reco::Hit3DToEdgeMapgetHit3DToEdgeMap ()
 
reco::HitPairListPtrgetBestHitPairListPtr ()
 
reco::EdgeListgetBestEdgeList ()
 
dcel2d::FaceListgetFaceList ()
 
dcel2d::VertexListgetVertexList ()
 
dcel2d::HalfEdgeListgetHalfEdgeList ()
 

Private Attributes

PlaneToClusterParamsMap m_clusterParams
 
reco::HitPairListPtr m_hitPairListPtr
 
reco::Hit2DToHit3DListMap m_hit2DToHit3DListMap
 
reco::PrincipalComponents m_fullPCA
 
reco::PrincipalComponents m_skeletonPCA
 
reco::Hit3DToEdgeMap m_hit3DToEdgeMap
 
reco::HitPairListPtr m_bestHitPairListPtr
 
reco::EdgeList m_bestEdgeList
 
dcel2d::FaceList m_faceList
 
dcel2d::VertexList m_vertexList
 
dcel2d::HalfEdgeList m_halfEdgeList
 
ClusterParametersList m_clusterParameters
 

Friends

bool operator< (const ClusterParameters &a, const ClusterParameters &b)
 

Detailed Description

Definition at line 337 of file Cluster3D.h.

Constructor & Destructor Documentation

reco::ClusterParameters::ClusterParameters ( )
inline

Definition at line 340 of file Cluster3D.h.

341  {
342  m_clusterParams.clear();
343  m_hitPairListPtr.clear();
344  m_hit2DToHit3DListMap.clear();
345  m_hit3DToEdgeMap.clear();
346  m_bestHitPairListPtr.clear();
347  m_bestEdgeList.clear();
348  m_faceList.clear();
349  m_vertexList.clear();
350  m_halfEdgeList.clear();
351  m_clusterParameters.clear();
352  }
dcel2d::VertexList m_vertexList
Definition: Cluster3D.h:429
reco::Hit2DToHit3DListMap m_hit2DToHit3DListMap
Definition: Cluster3D.h:422
reco::EdgeList m_bestEdgeList
Definition: Cluster3D.h:427
dcel2d::FaceList m_faceList
Definition: Cluster3D.h:428
dcel2d::HalfEdgeList m_halfEdgeList
Definition: Cluster3D.h:430
reco::HitPairListPtr m_bestHitPairListPtr
Definition: Cluster3D.h:426
ClusterParametersList m_clusterParameters
Definition: Cluster3D.h:431
PlaneToClusterParamsMap m_clusterParams
Definition: Cluster3D.h:420
reco::Hit3DToEdgeMap m_hit3DToEdgeMap
Definition: Cluster3D.h:425
reco::HitPairListPtr m_hitPairListPtr
Definition: Cluster3D.h:421
reco::ClusterParameters::ClusterParameters ( reco::HitPairClusterMap::iterator mapItr)
inline

Definition at line 354 of file Cluster3D.h.

354  : m_hitPairListPtr(mapItr->second)
355  {
356  m_clusterParams.clear();
357  m_hit2DToHit3DListMap.clear();
358  m_hit3DToEdgeMap.clear();
359  m_bestHitPairListPtr.clear();
360  m_bestEdgeList.clear();
361  m_faceList.clear();
362  m_vertexList.clear();
363  m_halfEdgeList.clear();
364  }
dcel2d::VertexList m_vertexList
Definition: Cluster3D.h:429
reco::Hit2DToHit3DListMap m_hit2DToHit3DListMap
Definition: Cluster3D.h:422
reco::EdgeList m_bestEdgeList
Definition: Cluster3D.h:427
dcel2d::FaceList m_faceList
Definition: Cluster3D.h:428
dcel2d::HalfEdgeList m_halfEdgeList
Definition: Cluster3D.h:430
reco::HitPairListPtr m_bestHitPairListPtr
Definition: Cluster3D.h:426
PlaneToClusterParamsMap m_clusterParams
Definition: Cluster3D.h:420
reco::Hit3DToEdgeMap m_hit3DToEdgeMap
Definition: Cluster3D.h:425
reco::HitPairListPtr m_hitPairListPtr
Definition: Cluster3D.h:421
reco::ClusterParameters::ClusterParameters ( reco::HitPairListPtr hitList)
inline

Definition at line 366 of file Cluster3D.h.

366  : m_hitPairListPtr(hitList)
367  {
368  m_clusterParams.clear();
369  m_hit2DToHit3DListMap.clear();
370  m_hit3DToEdgeMap.clear();
371  m_bestHitPairListPtr.clear();
372  m_bestEdgeList.clear();
373  m_faceList.clear();
374  m_vertexList.clear();
375  m_halfEdgeList.clear();
376  }
dcel2d::VertexList m_vertexList
Definition: Cluster3D.h:429
reco::Hit2DToHit3DListMap m_hit2DToHit3DListMap
Definition: Cluster3D.h:422
reco::EdgeList m_bestEdgeList
Definition: Cluster3D.h:427
dcel2d::FaceList m_faceList
Definition: Cluster3D.h:428
dcel2d::HalfEdgeList m_halfEdgeList
Definition: Cluster3D.h:430
reco::HitPairListPtr m_bestHitPairListPtr
Definition: Cluster3D.h:426
PlaneToClusterParamsMap m_clusterParams
Definition: Cluster3D.h:420
reco::Hit3DToEdgeMap m_hit3DToEdgeMap
Definition: Cluster3D.h:425
reco::HitPairListPtr m_hitPairListPtr
Definition: Cluster3D.h:421

Member Function Documentation

void reco::ClusterParameters::addHit3D ( const reco::ClusterHit3D hit3D)
inline

Definition at line 385 of file Cluster3D.h.

References reco::ClusterHit3D::getHits().

Referenced by lar_cluster3d::DBScanAlg::Cluster3DHits(), and lar_cluster3d::DBScanAlg::expandCluster().

386  {
387  m_hitPairListPtr.emplace_back(hit3D);
388 
389  for(const auto& hit2D : hit3D->getHits())
390  if (hit2D) m_hit2DToHit3DListMap[hit2D].emplace_back(hit3D);
391  }
reco::Hit2DToHit3DListMap m_hit2DToHit3DListMap
Definition: Cluster3D.h:422
reco::HitPairListPtr m_hitPairListPtr
Definition: Cluster3D.h:421
const ClusterHit2DVec & getHits() const
Definition: Cluster3D.h:156
void reco::ClusterParameters::fillHit2DToHit3DListMap ( )
inline

Definition at line 393 of file Cluster3D.h.

394  {
395  for(const auto& hit3D : m_hitPairListPtr)
396  {
397  for(const auto& hit2D : hit3D->getHits())
398  if (hit2D) m_hit2DToHit3DListMap[hit2D].emplace_back(hit3D);
399  }
400  }
reco::Hit2DToHit3DListMap m_hit2DToHit3DListMap
Definition: Cluster3D.h:422
reco::HitPairListPtr m_hitPairListPtr
Definition: Cluster3D.h:421
reco::HitPairListPtr& reco::ClusterParameters::getBestHitPairListPtr ( )
inline

Definition at line 408 of file Cluster3D.h.

Referenced by lar_cluster3d::MinSpanTreeAlg::FindBestPathInCluster().

408 {return m_bestHitPairListPtr;}
reco::HitPairListPtr m_bestHitPairListPtr
Definition: Cluster3D.h:426
dcel2d::FaceList& reco::ClusterParameters::getFaceList ( )
inline
dcel2d::HalfEdgeList& reco::ClusterParameters::getHalfEdgeList ( )
inline
reco::Hit2DToHit3DListMap& reco::ClusterParameters::getHit2DToHit3DListMap ( )
inline

Definition at line 403 of file Cluster3D.h.

Referenced by lar_cluster3d::ClusterParamsBuilder::FillClusterParams().

403 {return m_hit2DToHit3DListMap;}
reco::Hit2DToHit3DListMap m_hit2DToHit3DListMap
Definition: Cluster3D.h:422
dcel2d::VertexList& reco::ClusterParameters::getVertexList ( )
inline
void reco::ClusterParameters::UpdateParameters ( const reco::ClusterHit2D hit)
inline

Definition at line 380 of file Cluster3D.h.

References reco::ClusterHit2D::getHit(), geo::PlaneID::Plane, and recob::Hit::WireID().

Referenced by lar_cluster3d::ClusterPathFinder::breakIntoTinyBits(), lar_cluster3d::VoronoiPathFinder::breakIntoTinyBits(), lar_cluster3d::ClusterParamsBuilder::FillClusterParams(), and lar_cluster3d::ClusterMergeAlg::mergeClusters().

381  {
382  m_clusterParams[hit->getHit().WireID().Plane].UpdateParameters(hit);
383  }
geo::WireID WireID() const
Initial tdc tick for hit.
Definition: Hit.h:234
const recob::Hit & getHit() const
Definition: Cluster3D.h:73
PlaneToClusterParamsMap m_clusterParams
Definition: Cluster3D.h:420
PlaneID_t Plane
Index of the plane within its TPC.
Definition: geo_types.h:258

Friends And Related Function Documentation

bool operator< ( const ClusterParameters a,
const ClusterParameters b 
)
friend

Definition at line 414 of file Cluster3D.h.

415  {
416  return a.m_hitPairListPtr.size() > b.m_hitPairListPtr.size();
417  }

Member Data Documentation

reco::EdgeList reco::ClusterParameters::m_bestEdgeList
private

Definition at line 427 of file Cluster3D.h.

reco::HitPairListPtr reco::ClusterParameters::m_bestHitPairListPtr
private

Definition at line 426 of file Cluster3D.h.

ClusterParametersList reco::ClusterParameters::m_clusterParameters
private

Definition at line 431 of file Cluster3D.h.

PlaneToClusterParamsMap reco::ClusterParameters::m_clusterParams
private

Definition at line 420 of file Cluster3D.h.

dcel2d::FaceList reco::ClusterParameters::m_faceList
private

Definition at line 428 of file Cluster3D.h.

reco::PrincipalComponents reco::ClusterParameters::m_fullPCA
private

Definition at line 423 of file Cluster3D.h.

dcel2d::HalfEdgeList reco::ClusterParameters::m_halfEdgeList
private

Definition at line 430 of file Cluster3D.h.

reco::Hit2DToHit3DListMap reco::ClusterParameters::m_hit2DToHit3DListMap
private

Definition at line 422 of file Cluster3D.h.

reco::Hit3DToEdgeMap reco::ClusterParameters::m_hit3DToEdgeMap
private

Definition at line 425 of file Cluster3D.h.

reco::HitPairListPtr reco::ClusterParameters::m_hitPairListPtr
private

Definition at line 421 of file Cluster3D.h.

reco::PrincipalComponents reco::ClusterParameters::m_skeletonPCA
private

Definition at line 424 of file Cluster3D.h.

dcel2d::VertexList reco::ClusterParameters::m_vertexList
private

Definition at line 429 of file Cluster3D.h.


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