LArSoft  v09_90_00
Liquid Argon Software toolkit - https://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 ()
 
reco::ConvexHullgetConvexHull ()
 
dcel2d::FaceListgetFaceList ()
 
dcel2d::VertexListgetVertexList ()
 
dcel2d::HalfEdgeListgetHalfEdgeList ()
 

Private Attributes

PlaneToClusterParamsMap fClusterParams
 
reco::HitPairListPtr fHitPairListPtr
 
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
 
reco::PrincipalComponents fFullPCA
 
reco::PrincipalComponents fSkeletonPCA
 
reco::Hit3DToEdgeMap fHit3DToEdgeMap
 
reco::HitPairListPtr fBestHitPairListPtr
 
reco::EdgeList fBestEdgeList
 
reco::ConvexHull fConvexHull
 
dcel2d::FaceList fFaceList
 
dcel2d::VertexList fVertexList
 
dcel2d::HalfEdgeList fHalfEdgeList
 
ClusterParametersList fClusterParameters
 

Friends

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

Detailed Description

Definition at line 395 of file Cluster3D.h.

Constructor & Destructor Documentation

reco::ClusterParameters::ClusterParameters ( )
inline

Definition at line 397 of file Cluster3D.h.

398  {
399  fClusterParams.clear();
400  fHitPairListPtr.clear();
401  fHit2DToHit3DListMap.clear();
402  fHit3DToEdgeMap.clear();
403  fBestHitPairListPtr.clear();
404  fBestEdgeList.clear();
405  fConvexHull.clear();
406  fFaceList.clear();
407  fVertexList.clear();
408  fHalfEdgeList.clear();
409  fClusterParameters.clear();
410  }
reco::HitPairListPtr fBestHitPairListPtr
Definition: Cluster3D.h:487
dcel2d::HalfEdgeList fHalfEdgeList
Definition: Cluster3D.h:492
dcel2d::VertexList fVertexList
Definition: Cluster3D.h:491
reco::ConvexHull fConvexHull
Definition: Cluster3D.h:489
reco::Hit3DToEdgeMap fHit3DToEdgeMap
Definition: Cluster3D.h:486
ClusterParametersList fClusterParameters
Definition: Cluster3D.h:493
PlaneToClusterParamsMap fClusterParams
Definition: Cluster3D.h:480
reco::EdgeList fBestEdgeList
Definition: Cluster3D.h:488
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
Definition: Cluster3D.h:483
dcel2d::FaceList fFaceList
Definition: Cluster3D.h:490
reco::HitPairListPtr fHitPairListPtr
Definition: Cluster3D.h:481
reco::ClusterParameters::ClusterParameters ( reco::HitPairClusterMap::iterator mapItr)
inline

Definition at line 412 of file Cluster3D.h.

412  : fHitPairListPtr(mapItr->second)
413  {
414  fClusterParams.clear();
415  fHit2DToHit3DListMap.clear();
416  fHit3DToEdgeMap.clear();
417  fBestHitPairListPtr.clear();
418  fBestEdgeList.clear();
419  fConvexHull.clear();
420  fFaceList.clear();
421  fVertexList.clear();
422  fHalfEdgeList.clear();
423  }
reco::HitPairListPtr fBestHitPairListPtr
Definition: Cluster3D.h:487
dcel2d::HalfEdgeList fHalfEdgeList
Definition: Cluster3D.h:492
dcel2d::VertexList fVertexList
Definition: Cluster3D.h:491
reco::ConvexHull fConvexHull
Definition: Cluster3D.h:489
reco::Hit3DToEdgeMap fHit3DToEdgeMap
Definition: Cluster3D.h:486
PlaneToClusterParamsMap fClusterParams
Definition: Cluster3D.h:480
reco::EdgeList fBestEdgeList
Definition: Cluster3D.h:488
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
Definition: Cluster3D.h:483
dcel2d::FaceList fFaceList
Definition: Cluster3D.h:490
reco::HitPairListPtr fHitPairListPtr
Definition: Cluster3D.h:481
reco::ClusterParameters::ClusterParameters ( reco::HitPairListPtr hitList)
inline

Definition at line 425 of file Cluster3D.h.

425  : fHitPairListPtr(hitList)
426  {
427  fClusterParams.clear();
428  fHit2DToHit3DListMap.clear();
429  fHit3DToEdgeMap.clear();
430  fBestHitPairListPtr.clear();
431  fBestEdgeList.clear();
432  fConvexHull.clear();
433  fFaceList.clear();
434  fVertexList.clear();
435  fHalfEdgeList.clear();
436  }
reco::HitPairListPtr fBestHitPairListPtr
Definition: Cluster3D.h:487
dcel2d::HalfEdgeList fHalfEdgeList
Definition: Cluster3D.h:492
dcel2d::VertexList fVertexList
Definition: Cluster3D.h:491
reco::ConvexHull fConvexHull
Definition: Cluster3D.h:489
reco::Hit3DToEdgeMap fHit3DToEdgeMap
Definition: Cluster3D.h:486
PlaneToClusterParamsMap fClusterParams
Definition: Cluster3D.h:480
reco::EdgeList fBestEdgeList
Definition: Cluster3D.h:488
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
Definition: Cluster3D.h:483
dcel2d::FaceList fFaceList
Definition: Cluster3D.h:490
reco::HitPairListPtr fHitPairListPtr
Definition: Cluster3D.h:481

Member Function Documentation

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

Definition at line 445 of file Cluster3D.h.

References reco::ClusterHit3D::getHits().

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

446  {
447  fHitPairListPtr.emplace_back(hit3D);
448 
449  for (const auto& hit2D : hit3D->getHits())
450  if (hit2D) fHit2DToHit3DListMap[hit2D].emplace_back(hit3D);
451  }
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
Definition: Cluster3D.h:483
const ClusterHit2DVec & getHits() const
Definition: Cluster3D.h:168
reco::HitPairListPtr fHitPairListPtr
Definition: Cluster3D.h:481
void reco::ClusterParameters::fillHit2DToHit3DListMap ( )
inline

Definition at line 453 of file Cluster3D.h.

454  {
455  for (const auto& hit3D : fHitPairListPtr) {
456  for (const auto& hit2D : hit3D->getHits())
457  if (hit2D) fHit2DToHit3DListMap[hit2D].emplace_back(hit3D);
458  }
459  }
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
Definition: Cluster3D.h:483
reco::HitPairListPtr fHitPairListPtr
Definition: Cluster3D.h:481
reco::PlaneToClusterParamsMap& reco::ClusterParameters::getClusterParams ( )
inline
dcel2d::FaceList& reco::ClusterParameters::getFaceList ( )
inline
reco::PrincipalComponents& reco::ClusterParameters::getFullPCA ( )
inline

Definition at line 464 of file Cluster3D.h.

Referenced by lar_cluster3d::ConvexHullPathFinder::breakClusterAtBigGap(), lar_cluster3d::ConvexHullPathFinder::breakClusterByKinks(), lar_cluster3d::ConvexHullPathFinder::breakClusterByKinksTrial(), lar_cluster3d::ConvexHullPathFinder::breakClusterByMaxDefect(), lar_cluster3d::ConvexHullPathFinder::breakClusterInHalf(), lar_cluster3d::ClusterPathFinder::breakIntoTinyBits(), lar_cluster3d::VoronoiPathFinder::breakIntoTinyBits(), lar_cluster3d::ClusterPathFinder::buildConvexHull(), lar_cluster3d::VoronoiPathFinder::buildConvexHull(), lar_cluster3d::ConvexHullPathFinder::buildConvexHull(), lar_cluster3d::MSTPathFinder::buildConvexHull(), lar_cluster3d::ClusterPathFinder::buildVoronoiDiagram(), lar_cluster3d::VoronoiPathFinder::buildVoronoiDiagram(), lar_cluster3d::ConvexHullPathFinder::completeCandidateCluster(), lar_cluster3d::Cluster3D::ConvertToArtOutput(), lar_cluster3d::ClusterParamsBuilder::FillClusterParams(), lar_cluster3d::Cluster3D::FindAndStoreDaughters(), lar_cluster3d::MSTPathFinder::FindBestPathInCluster(), lar_cluster3d::Cluster3D::findTrackSeeds(), lar_cluster3d::ClusterMergeAlg::linearClusters(), lar_cluster3d::ConvexHullPathFinder::makeCandidateCluster(), lar_cluster3d::VoronoiPathFinder::makeCandidateCluster(), lar_cluster3d::ClusterMergeAlg::mergeClusters(), lar_cluster3d::ClusterMergeAlg::ModifyClusters(), lar_cluster3d::Cluster3D::splitClustersWithHough(), lar_cluster3d::ClusterParamsBuilder::storeThisCluster(), lar_cluster3d::ConvexHullPathFinder::subDivideCluster(), and lar_cluster3d::VoronoiPathFinder::subDivideCluster().

464 { return fFullPCA; }
reco::PrincipalComponents fFullPCA
Definition: Cluster3D.h:484
dcel2d::HalfEdgeList& reco::ClusterParameters::getHalfEdgeList ( )
inline
reco::Hit2DToHit3DListMap& reco::ClusterParameters::getHit2DToHit3DListMap ( )
inline

Definition at line 462 of file Cluster3D.h.

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

462 { return fHit2DToHit3DListMap; }
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
Definition: Cluster3D.h:483
reco::HitPairListPtr& reco::ClusterParameters::getHitPairListPtr ( )
inline

Definition at line 463 of file Cluster3D.h.

Referenced by lar_cluster3d::ConvexHullPathFinder::breakClusterAtBigGap(), lar_cluster3d::ConvexHullPathFinder::breakClusterByKinks(), lar_cluster3d::ConvexHullPathFinder::breakClusterByMaxDefect(), lar_cluster3d::ConvexHullPathFinder::breakClusterInHalf(), lar_cluster3d::ClusterPathFinder::breakIntoTinyBits(), lar_cluster3d::VoronoiPathFinder::breakIntoTinyBits(), lar_cluster3d::ClusterPathFinder::buildConvexHull(), lar_cluster3d::VoronoiPathFinder::buildConvexHull(), lar_cluster3d::ConvexHullPathFinder::buildConvexHull(), lar_cluster3d::ClusterPathFinder::buildVoronoiDiagram(), lar_cluster3d::VoronoiPathFinder::buildVoronoiDiagram(), lar_cluster3d::MinSpanTreeAlg::CheckHitSorting(), lar_cluster3d::ConvexHullPathFinder::completeCandidateCluster(), lar_cluster3d::Cluster3D::ConvertToArtOutput(), lar_cluster3d::ClusterParamsBuilder::FillClusterParams(), lar_cluster3d::MinSpanTreeAlg::FindBestPathInCluster(), lar_cluster3d::MSTPathFinder::FindBestPathInCluster(), lar_cluster3d::Cluster3D::findTrackSeeds(), lar_cluster3d::ClusterParamsBuilder::keepThisCluster(), lar_cluster3d::ConvexHullPathFinder::makeCandidateCluster(), lar_cluster3d::VoronoiPathFinder::makeCandidateCluster(), lar_cluster3d::ClusterMergeAlg::mergeClusters(), lar_cluster3d::ClusterPathFinder::ModifyClusters(), lar_cluster3d::ConvexHullPathFinder::ModifyClusters(), lar_cluster3d::VoronoiPathFinder::ModifyClusters(), lar_cluster3d::MinSpanTreeAlg::PruneAmbiguousHits(), lar_cluster3d::MSTPathFinder::PruneAmbiguousHits(), lar_cluster3d::MSTPathFinder::RunPrimsAlgorithm(), lar_cluster3d::Cluster3D::splitClustersWithHough(), lar_cluster3d::ClusterParamsBuilder::storeThisCluster(), lar_cluster3d::ConvexHullPathFinder::subDivideCluster(), and lar_cluster3d::VoronoiPathFinder::subDivideCluster().

463 { return fHitPairListPtr; }
reco::HitPairListPtr fHitPairListPtr
Definition: Cluster3D.h:481
dcel2d::VertexList& reco::ClusterParameters::getVertexList ( )
inline
void reco::ClusterParameters::UpdateParameters ( const reco::ClusterHit2D hit)
inline

Friends And Related Function Documentation

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

Definition at line 474 of file Cluster3D.h.

475  {
476  return a.fHitPairListPtr.size() > b.fHitPairListPtr.size();
477  }

Member Data Documentation

reco::EdgeList reco::ClusterParameters::fBestEdgeList
private

Definition at line 488 of file Cluster3D.h.

reco::HitPairListPtr reco::ClusterParameters::fBestHitPairListPtr
private

Definition at line 487 of file Cluster3D.h.

ClusterParametersList reco::ClusterParameters::fClusterParameters
private

Definition at line 493 of file Cluster3D.h.

PlaneToClusterParamsMap reco::ClusterParameters::fClusterParams
private

Definition at line 480 of file Cluster3D.h.

reco::ConvexHull reco::ClusterParameters::fConvexHull
private

Definition at line 489 of file Cluster3D.h.

dcel2d::FaceList reco::ClusterParameters::fFaceList
private

Definition at line 490 of file Cluster3D.h.

reco::PrincipalComponents reco::ClusterParameters::fFullPCA
private

Definition at line 484 of file Cluster3D.h.

dcel2d::HalfEdgeList reco::ClusterParameters::fHalfEdgeList
private

Definition at line 492 of file Cluster3D.h.

reco::Hit2DToHit3DListMap reco::ClusterParameters::fHit2DToHit3DListMap
private

Definition at line 483 of file Cluster3D.h.

reco::Hit3DToEdgeMap reco::ClusterParameters::fHit3DToEdgeMap
private

Definition at line 486 of file Cluster3D.h.

reco::HitPairListPtr reco::ClusterParameters::fHitPairListPtr
private

Definition at line 481 of file Cluster3D.h.

reco::PrincipalComponents reco::ClusterParameters::fSkeletonPCA
private

Definition at line 485 of file Cluster3D.h.

dcel2d::VertexList reco::ClusterParameters::fVertexList
private

Definition at line 491 of file Cluster3D.h.


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