53 :fEps(pEps),fMinPts(pMinPts),
    54  fSPointsProb(pSPointsProb),fEMinDamage(pEMinDamage),fEMaxDamage(pEMaxDamage)
   123   std::vector<SBPoint*>::iterator itVisitorPt, itObservedPt;
   128     itObservedPt = itVisitorPt;
   133       if(!((*itObservedPt)->HasCluster() && (*itVisitorPt)->HasCluster()))
   136                                 (*itVisitorPt)->GetPosition(),
fEps))
   139           if(!(*itObservedPt)->HasCluster() && !(*itVisitorPt)->HasCluster())
   142             set<SBPoint*> clusterPoints;
   143             clusterPoints.insert((*itObservedPt));
   144             clusterPoints.insert((*itVisitorPt));
   151             (*itObservedPt)->SetCluster(lCluster);
   153             (*itVisitorPt)->SetCluster(lCluster);
   157             if((*itObservedPt)->HasCluster())
   159               (*itObservedPt)->GetCluster()->AddSBPoint((*itVisitorPt));
   160               (*itVisitorPt)->SetCluster((*itObservedPt)->GetCluster());
   163             if((*itVisitorPt)->HasCluster())
   165               (*itVisitorPt)->GetCluster()->AddSBPoint((*itObservedPt));
   166               (*itObservedPt)->SetCluster((*itVisitorPt)->GetCluster());
   188   std::vector<ClusterSBPoints*>::iterator itCluster1, itCluster2;
   193     G4ThreeVector baryCenterClust1 = (*itCluster1)->GetBarycenter();
   194     itCluster2 = itCluster1;
   198       G4ThreeVector baryCenterClust2 = (*itCluster2)->GetBarycenter();
   202         (*itCluster1)->MergeWith(*itCluster2);
   218   std::vector<SBPoint*>::iterator itVisitorPt;
   219   int nbPtSansCluster = 0;
   225     if(!(*itVisitorPt)->HasCluster())
   238   std::vector<ClusterSBPoints*>::iterator itCluster;
   244     if((*itCluster)->HasInBarycenter(pPt, 
fEps))
   246       (*itCluster)->AddSBPoint(pPt);
   267   if(((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2))<=
   268       (pMinDist/
nm*pMinDist/
nm))
   282   std::vector<SBPoint*>::const_iterator itSDSPt;
   287     if(!(*itSDSPt)->HasCluster())
   300   std::vector<ClusterSBPoints*>::const_iterator itCluster;
   305     if((*itCluster)->IsSSB())
   318   std::vector<ClusterSBPoints*>::const_iterator itCluster;
   323     if((*itCluster)->IsDSB())
   335   std::map<G4int,G4int>  sizeDistribution;
   336   sizeDistribution[1]=
GetSSB();
   337   std::vector<ClusterSBPoints*>::const_iterator itCluster;
   342     sizeDistribution[(*itCluster)->GetSize()]++;
   344   return sizeDistribution;
   352   std::vector<ClusterSBPoints*>::iterator itCluster;
   361   std::vector<SBPoint*>::iterator itPt;
 
define a cluster of SB Points 
 
void IncludeUnassociatedPoints()
 
std::vector< ClusterSBPoints * > fpClusters
 
std::map< G4int, G4int > RunClustering()
 
ClusteringAlgoMessenger * fpClustAlgoMessenger
 
unsigned int fNextSBPointID
 
G4int GetComplexSSB() const
 
Definition of the ClusteringAlgoMessenger class. 
 
ClusteringAlgo(G4double pEps, G4int pMinPts, G4double pSPointsProb, G4double pEMinDamage, G4double pEMaxDamage)
 
bool AreOnTheSameCluster(G4ThreeVector, G4ThreeVector, G4double)
 
std::map< G4int, G4int > GetClusterSizeDistribution()
 
std::vector< SBPoint * > fpSetOfPoints
 
void RegisterDamage(G4ThreeVector, G4double)
 
G4bool IsEdepSufficient(G4double)
 
G4bool IsInSensitiveArea()
 
bool FindCluster(SBPoint *pPt)
 
defines a point of energy deposition which defines a damage to the DNA. 
 
Definition of the ClustreringAlgo class.