LArSoft  v07_13_02
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 ()
 
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 383 of file Cluster3D.h.

Constructor & Destructor Documentation

reco::ClusterParameters::ClusterParameters ( )
inline

Definition at line 386 of file Cluster3D.h.

387  {
388  fClusterParams.clear();
389  fHitPairListPtr.clear();
390  fHit2DToHit3DListMap.clear();
391  fHit3DToEdgeMap.clear();
392  fBestHitPairListPtr.clear();
393  fBestEdgeList.clear();
394  fConvexHull.clear();
395  fFaceList.clear();
396  fVertexList.clear();
397  fHalfEdgeList.clear();
398  fClusterParameters.clear();
399  }
reco::HitPairListPtr fBestHitPairListPtr
Definition: Cluster3D.h:476
dcel2d::HalfEdgeList fHalfEdgeList
Definition: Cluster3D.h:481
dcel2d::VertexList fVertexList
Definition: Cluster3D.h:480
reco::ConvexHull fConvexHull
Definition: Cluster3D.h:478
reco::Hit3DToEdgeMap fHit3DToEdgeMap
Definition: Cluster3D.h:475
ClusterParametersList fClusterParameters
Definition: Cluster3D.h:482
PlaneToClusterParamsMap fClusterParams
Definition: Cluster3D.h:470
reco::EdgeList fBestEdgeList
Definition: Cluster3D.h:477
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
Definition: Cluster3D.h:472
dcel2d::FaceList fFaceList
Definition: Cluster3D.h:479
reco::HitPairListPtr fHitPairListPtr
Definition: Cluster3D.h:471
reco::ClusterParameters::ClusterParameters ( reco::HitPairClusterMap::iterator mapItr)
inline

Definition at line 401 of file Cluster3D.h.

401  : fHitPairListPtr(mapItr->second)
402  {
403  fClusterParams.clear();
404  fHit2DToHit3DListMap.clear();
405  fHit3DToEdgeMap.clear();
406  fBestHitPairListPtr.clear();
407  fBestEdgeList.clear();
408  fConvexHull.clear();
409  fFaceList.clear();
410  fVertexList.clear();
411  fHalfEdgeList.clear();
412  }
reco::HitPairListPtr fBestHitPairListPtr
Definition: Cluster3D.h:476
dcel2d::HalfEdgeList fHalfEdgeList
Definition: Cluster3D.h:481
dcel2d::VertexList fVertexList
Definition: Cluster3D.h:480
reco::ConvexHull fConvexHull
Definition: Cluster3D.h:478
reco::Hit3DToEdgeMap fHit3DToEdgeMap
Definition: Cluster3D.h:475
PlaneToClusterParamsMap fClusterParams
Definition: Cluster3D.h:470
reco::EdgeList fBestEdgeList
Definition: Cluster3D.h:477
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
Definition: Cluster3D.h:472
dcel2d::FaceList fFaceList
Definition: Cluster3D.h:479
reco::HitPairListPtr fHitPairListPtr
Definition: Cluster3D.h:471
reco::ClusterParameters::ClusterParameters ( reco::HitPairListPtr hitList)
inline

Definition at line 414 of file Cluster3D.h.

414  : fHitPairListPtr(hitList)
415  {
416  fClusterParams.clear();
417  fHit2DToHit3DListMap.clear();
418  fHit3DToEdgeMap.clear();
419  fBestHitPairListPtr.clear();
420  fBestEdgeList.clear();
421  fConvexHull.clear();
422  fFaceList.clear();
423  fVertexList.clear();
424  fHalfEdgeList.clear();
425  }
reco::HitPairListPtr fBestHitPairListPtr
Definition: Cluster3D.h:476
dcel2d::HalfEdgeList fHalfEdgeList
Definition: Cluster3D.h:481
dcel2d::VertexList fVertexList
Definition: Cluster3D.h:480
reco::ConvexHull fConvexHull
Definition: Cluster3D.h:478
reco::Hit3DToEdgeMap fHit3DToEdgeMap
Definition: Cluster3D.h:475
PlaneToClusterParamsMap fClusterParams
Definition: Cluster3D.h:470
reco::EdgeList fBestEdgeList
Definition: Cluster3D.h:477
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
Definition: Cluster3D.h:472
dcel2d::FaceList fFaceList
Definition: Cluster3D.h:479
reco::HitPairListPtr fHitPairListPtr
Definition: Cluster3D.h:471

Member Function Documentation

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

Definition at line 434 of file Cluster3D.h.

References reco::ClusterHit3D::getHits().

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

435  {
436  fHitPairListPtr.emplace_back(hit3D);
437 
438  for(const auto& hit2D : hit3D->getHits())
439  if (hit2D) fHit2DToHit3DListMap[hit2D].emplace_back(hit3D);
440  }
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
Definition: Cluster3D.h:472
const ClusterHit2DVec & getHits() const
Definition: Cluster3D.h:158
reco::HitPairListPtr fHitPairListPtr
Definition: Cluster3D.h:471
void reco::ClusterParameters::fillHit2DToHit3DListMap ( )
inline

Definition at line 442 of file Cluster3D.h.

443  {
444  for(const auto& hit3D : fHitPairListPtr)
445  {
446  for(const auto& hit2D : hit3D->getHits())
447  if (hit2D) fHit2DToHit3DListMap[hit2D].emplace_back(hit3D);
448  }
449  }
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
Definition: Cluster3D.h:472
reco::HitPairListPtr fHitPairListPtr
Definition: Cluster3D.h:471
reco::HitPairListPtr& reco::ClusterParameters::getBestHitPairListPtr ( )
inline

Definition at line 457 of file Cluster3D.h.

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

457 {return fBestHitPairListPtr;}
reco::HitPairListPtr fBestHitPairListPtr
Definition: Cluster3D.h:476
dcel2d::FaceList& reco::ClusterParameters::getFaceList ( )
inline
reco::PrincipalComponents& reco::ClusterParameters::getFullPCA ( )
inline

Definition at line 454 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::ClusterParamsBuilder::BuildClusterInfo(), lar_cluster3d::ClusterPathFinder::buildConvexHull(), lar_cluster3d::ConvexHullPathFinder::buildConvexHull(), lar_cluster3d::VoronoiPathFinder::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::Cluster3D::findTrackSeeds(), lar_cluster3d::ConvexHullPathFinder::makeCandidateCluster(), lar_cluster3d::VoronoiPathFinder::makeCandidateCluster(), lar_cluster3d::ClusterMergeAlg::mergeClusters(), lar_cluster3d::ClusterMergeAlg::ModifyClusters(), lar_cluster3d::Cluster3D::splitClustersWithHough(), lar_cluster3d::ConvexHullPathFinder::subDivideCluster(), and lar_cluster3d::VoronoiPathFinder::subDivideCluster().

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

Definition at line 452 of file Cluster3D.h.

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

452 {return fHit2DToHit3DListMap;}
reco::Hit2DToHit3DListMap fHit2DToHit3DListMap
Definition: Cluster3D.h:472
reco::HitPairListPtr& reco::ClusterParameters::getHitPairListPtr ( )
inline
dcel2d::VertexList& reco::ClusterParameters::getVertexList ( )
inline
void reco::ClusterParameters::UpdateParameters ( const reco::ClusterHit2D hit)
inline

Definition at line 429 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().

430  {
431  fClusterParams[hit->getHit().WireID().Plane].UpdateParameters(hit);
432  }
geo::WireID WireID() const
Initial tdc tick for hit.
Definition: Hit.h:234
PlaneToClusterParamsMap fClusterParams
Definition: Cluster3D.h:470
const recob::Hit & getHit() const
Definition: Cluster3D.h:73
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 464 of file Cluster3D.h.

465  {
466  return a.fHitPairListPtr.size() > b.fHitPairListPtr.size();
467  }

Member Data Documentation

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

Definition at line 477 of file Cluster3D.h.

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

Definition at line 476 of file Cluster3D.h.

ClusterParametersList reco::ClusterParameters::fClusterParameters
private

Definition at line 482 of file Cluster3D.h.

PlaneToClusterParamsMap reco::ClusterParameters::fClusterParams
private

Definition at line 470 of file Cluster3D.h.

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

Definition at line 478 of file Cluster3D.h.

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

Definition at line 479 of file Cluster3D.h.

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

Definition at line 473 of file Cluster3D.h.

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

Definition at line 481 of file Cluster3D.h.

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

Definition at line 472 of file Cluster3D.h.

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

Definition at line 475 of file Cluster3D.h.

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

Definition at line 471 of file Cluster3D.h.

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

Definition at line 474 of file Cluster3D.h.

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

Definition at line 480 of file Cluster3D.h.


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