ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ClusteringAlgo Class Reference

#include <geant4/tree/geant4-10.6-release/examples/extended/medical/dna/clustering/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 48 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 48 of file ClusteringAlgo.hh

Constructor & Destructor Documentation

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

Definition at line 50 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 50 of file ClusteringAlgo.cc

References fNextSBPointID, and fpClustAlgoMessenger.

ClusteringAlgo::~ClusteringAlgo ( )

Definition at line 61 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 61 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 254 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 254 of file ClusteringAlgo.cc

References nm, CLHEP::Hep3Vector::x(), x1, x2, CLHEP::Hep3Vector::y(), y1, y2, CLHEP::Hep3Vector::z(), z1, and z2.

Referenced by MergeClusters(), and RunClustering().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ClusteringAlgo::FindCluster ( SBPoint pPt)
private

Definition at line 234 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 234 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 332 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 332 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 296 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 296 of file ClusteringAlgo.cc

References fpClusters.

G4int ClusteringAlgo::GetDSB ( ) const

Definition at line 314 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 314 of file ClusteringAlgo.cc

References fpClusters.

G4double ClusteringAlgo::GetEMaxDamage ( )
inline

Definition at line 89 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 89 of file ClusteringAlgo.hh

References fEMaxDamage.

G4double ClusteringAlgo::GetEMinDamage ( )
inline

Definition at line 81 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 81 of file ClusteringAlgo.hh

References fEMinDamage.

G4double ClusteringAlgo::GetEps ( )
inline

Definition at line 57 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 57 of file ClusteringAlgo.hh

References fEps.

G4int ClusteringAlgo::GetMinPts ( )
inline

Definition at line 65 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 65 of file ClusteringAlgo.hh

References fMinPts.

G4double ClusteringAlgo::GetSPointsProb ( )
inline

Definition at line 73 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 73 of file ClusteringAlgo.hh

References fSPointsProb.

G4int ClusteringAlgo::GetSSB ( ) const

Definition at line 278 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 278 of file ClusteringAlgo.cc

References fpSetOfPoints.

Referenced by GetClusterSizeDistribution().

+ Here is the caller graph for this function:

void ClusteringAlgo::IncludeUnassociatedPoints ( )
private

Definition at line 215 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 215 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 78 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 78 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 70 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 70 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 185 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 185 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 348 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 348 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 104 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 104 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 117 of file ClusteringAlgo.cc.

View newest version in sPHENIX GitHub at line 117 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 93 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 93 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 85 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 85 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 61 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 61 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 69 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 69 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 77 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 77 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 137 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 137 of file ClusteringAlgo.hh

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

G4double ClusteringAlgo::fEMinDamage
private

Definition at line 136 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 136 of file ClusteringAlgo.hh

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

G4double ClusteringAlgo::fEps
private

Definition at line 133 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 133 of file ClusteringAlgo.hh

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

G4int ClusteringAlgo::fMinPts
private

Definition at line 134 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 134 of file ClusteringAlgo.hh

Referenced by GetMinPts(), and SetMinPts().

unsigned int ClusteringAlgo::fNextSBPointID
private

Definition at line 144 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 144 of file ClusteringAlgo.hh

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

ClusteringAlgoMessenger* ClusteringAlgo::fpClustAlgoMessenger
private

Definition at line 146 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 146 of file ClusteringAlgo.hh

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

std::vector<ClusterSBPoints*> ClusteringAlgo::fpClusters
private

Definition at line 142 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 142 of file ClusteringAlgo.hh

Referenced by FindCluster(), GetClusterSizeDistribution(), GetComplexSSB(), GetDSB(), MergeClusters(), Purge(), and RunClustering().

std::vector<SBPoint*> ClusteringAlgo::fpSetOfPoints
private

Definition at line 140 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 140 of file ClusteringAlgo.hh

Referenced by GetSSB(), IncludeUnassociatedPoints(), Purge(), RegisterDamage(), and RunClustering().

G4double ClusteringAlgo::fSPointsProb
private

Definition at line 135 of file ClusteringAlgo.hh.

View newest version in sPHENIX GitHub at line 135 of file ClusteringAlgo.hh

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


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