Geant4  10.02
ClusteringAlgo Class Reference

#include <ClusteringAlgo.hh>

+ Collaboration diagram for ClusteringAlgo:

Public Member Functions

 ClusteringAlgo (G4double pEps, G4int pMinPts, G4double pSPointsProb, G4double pEMinDamage, G4double pEMaxDamage)
 
 ~ClusteringAlgo ()
 
G4double GetEps ()
 
void SetEps (G4double val)
 
G4int GetMinPts ()
 
void SetMinPts (G4int val)
 
G4double GetSPointsProb ()
 
void SetSPointsProb (G4double val)
 
G4double GetEMinDamage ()
 
void SetEMinDamage (G4double val)
 
G4double GetEMaxDamage ()
 
void SetEMaxDamage (G4double val)
 
void RegisterDamage (G4ThreeVector, G4double)
 
std::map< G4int, G4intRunClustering ()
 
void Purge ()
 
G4int GetSSB () const
 
G4int GetComplexSSB () const
 
G4int GetDSB () const
 
std::map< G4int, G4intGetClusterSizeDistribution ()
 

Private Member Functions

G4bool IsInSensitiveArea ()
 
G4bool IsEdepSufficient (G4double)
 
bool FindCluster (SBPoint *pPt)
 
bool AreOnTheSameCluster (G4ThreeVector, G4ThreeVector, G4double)
 
void MergeClusters ()
 
void IncludeUnassociatedPoints ()
 

Private Attributes

G4double fEps
 
G4int fMinPts
 
G4double fSPointsProb
 
G4double fEMinDamage
 
G4double fEMaxDamage
 
std::vector< SBPoint * > fpSetOfPoints
 
std::vector< ClusterSBPoints * > fpClusters
 
unsigned int fNextSBPointID
 
ClusteringAlgoMessengerfpClustAlgoMessenger
 

Detailed Description

Definition at line 49 of file ClusteringAlgo.hh.

Constructor & Destructor Documentation

ClusteringAlgo::ClusteringAlgo ( G4double  pEps,
G4int  pMinPts,
G4double  pSPointsProb,
G4double  pEMinDamage,
G4double  pEMaxDamage 
)

Definition at line 51 of file ClusteringAlgo.cc.

References fNextSBPointID, and fpClustAlgoMessenger.

ClusteringAlgo::~ClusteringAlgo ( )

Definition at line 62 of file ClusteringAlgo.cc.

References fpClustAlgoMessenger, and Purge().

+ Here is the call graph for this function:

Member Function Documentation

bool ClusteringAlgo::AreOnTheSameCluster ( G4ThreeVector  pPt1,
G4ThreeVector  pPt2,
G4double  pMinDist 
)
private

Definition at line 255 of file ClusteringAlgo.cc.

References nm.

Referenced by MergeClusters(), and RunClustering().

+ Here is the caller graph for this function:

bool ClusteringAlgo::FindCluster ( SBPoint pPt)
private

Definition at line 235 of file ClusteringAlgo.cc.

References fEps, fpClusters, and SBPoint::HasCluster().

Referenced by IncludeUnassociatedPoints().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

map< G4int, G4int > ClusteringAlgo::GetClusterSizeDistribution ( )

Definition at line 333 of file ClusteringAlgo.cc.

References fpClusters, and GetSSB().

Referenced by RunClustering().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int ClusteringAlgo::GetComplexSSB ( ) const

Definition at line 297 of file ClusteringAlgo.cc.

References fpClusters.

G4int ClusteringAlgo::GetDSB ( ) const

Definition at line 315 of file ClusteringAlgo.cc.

References fpClusters.

G4double ClusteringAlgo::GetEMaxDamage ( )
inline

Definition at line 90 of file ClusteringAlgo.hh.

References fEMaxDamage.

G4double ClusteringAlgo::GetEMinDamage ( )
inline

Definition at line 82 of file ClusteringAlgo.hh.

References fEMinDamage.

G4double ClusteringAlgo::GetEps ( )
inline

Definition at line 58 of file ClusteringAlgo.hh.

References fEps.

G4int ClusteringAlgo::GetMinPts ( )
inline

Definition at line 66 of file ClusteringAlgo.hh.

References fMinPts.

G4double ClusteringAlgo::GetSPointsProb ( )
inline

Definition at line 74 of file ClusteringAlgo.hh.

References fSPointsProb.

G4int ClusteringAlgo::GetSSB ( ) const

Definition at line 279 of file ClusteringAlgo.cc.

References fpSetOfPoints.

Referenced by GetClusterSizeDistribution().

+ Here is the caller graph for this function:

void ClusteringAlgo::IncludeUnassociatedPoints ( )
private

Definition at line 216 of file ClusteringAlgo.cc.

References FindCluster(), and fpSetOfPoints.

Referenced by RunClustering().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool ClusteringAlgo::IsEdepSufficient ( G4double  pEdep)
private

Definition at line 79 of file ClusteringAlgo.cc.

References eV, fEMaxDamage, fEMinDamage, and G4UniformRand.

Referenced by RegisterDamage().

+ Here is the caller graph for this function:

G4bool ClusteringAlgo::IsInSensitiveArea ( )
private

Definition at line 71 of file ClusteringAlgo.cc.

References fSPointsProb, and G4UniformRand.

Referenced by RegisterDamage().

+ Here is the caller graph for this function:

void ClusteringAlgo::MergeClusters ( )
private

Definition at line 186 of file ClusteringAlgo.cc.

References AreOnTheSameCluster(), fEps, and fpClusters.

Referenced by RunClustering().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ClusteringAlgo::Purge ( )

Definition at line 349 of file ClusteringAlgo.cc.

References fNextSBPointID, fpClusters, and fpSetOfPoints.

Referenced by ~ClusteringAlgo().

+ Here is the caller graph for this function:

void ClusteringAlgo::RegisterDamage ( G4ThreeVector  pPos,
G4double  pEdep 
)

Definition at line 105 of file ClusteringAlgo.cc.

References fNextSBPointID, fpSetOfPoints, IsEdepSufficient(), and IsInSensitiveArea().

+ Here is the call graph for this function:

map< G4int, G4int > ClusteringAlgo::RunClustering ( )

Definition at line 118 of file ClusteringAlgo.cc.

References AreOnTheSameCluster(), fEps, fpClusters, fpSetOfPoints, GetClusterSizeDistribution(), IncludeUnassociatedPoints(), and MergeClusters().

+ Here is the call graph for this function:

void ClusteringAlgo::SetEMaxDamage ( G4double  val)
inline

Definition at line 94 of file ClusteringAlgo.hh.

References fEMaxDamage.

Referenced by ClusteringAlgoMessenger::SetNewValue().

+ Here is the caller graph for this function:

void ClusteringAlgo::SetEMinDamage ( G4double  val)
inline

Definition at line 86 of file ClusteringAlgo.hh.

References fEMinDamage.

Referenced by ClusteringAlgoMessenger::SetNewValue().

+ Here is the caller graph for this function:

void ClusteringAlgo::SetEps ( G4double  val)
inline

Definition at line 62 of file ClusteringAlgo.hh.

References fEps.

Referenced by ClusteringAlgoMessenger::SetNewValue().

+ Here is the caller graph for this function:

void ClusteringAlgo::SetMinPts ( G4int  val)
inline

Definition at line 70 of file ClusteringAlgo.hh.

References fMinPts.

Referenced by ClusteringAlgoMessenger::SetNewValue().

+ Here is the caller graph for this function:

void ClusteringAlgo::SetSPointsProb ( G4double  val)
inline

Definition at line 78 of file ClusteringAlgo.hh.

References fSPointsProb.

Referenced by ClusteringAlgoMessenger::SetNewValue().

+ Here is the caller graph for this function:

Member Data Documentation

G4double ClusteringAlgo::fEMaxDamage
private

Definition at line 138 of file ClusteringAlgo.hh.

Referenced by GetEMaxDamage(), IsEdepSufficient(), and SetEMaxDamage().

G4double ClusteringAlgo::fEMinDamage
private

Definition at line 137 of file ClusteringAlgo.hh.

Referenced by GetEMinDamage(), IsEdepSufficient(), and SetEMinDamage().

G4double ClusteringAlgo::fEps
private

Definition at line 134 of file ClusteringAlgo.hh.

Referenced by FindCluster(), GetEps(), MergeClusters(), RunClustering(), and SetEps().

G4int ClusteringAlgo::fMinPts
private

Definition at line 135 of file ClusteringAlgo.hh.

Referenced by GetMinPts(), and SetMinPts().

unsigned int ClusteringAlgo::fNextSBPointID
private

Definition at line 145 of file ClusteringAlgo.hh.

Referenced by ClusteringAlgo(), Purge(), and RegisterDamage().

ClusteringAlgoMessenger* ClusteringAlgo::fpClustAlgoMessenger
private

Definition at line 147 of file ClusteringAlgo.hh.

Referenced by ClusteringAlgo(), and ~ClusteringAlgo().

std::vector<ClusterSBPoints*> ClusteringAlgo::fpClusters
private
std::vector<SBPoint*> ClusteringAlgo::fpSetOfPoints
private
G4double ClusteringAlgo::fSPointsProb
private

Definition at line 136 of file ClusteringAlgo.hh.

Referenced by GetSPointsProb(), IsInSensitiveArea(), and SetSPointsProb().


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