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;
 
CLHEP::Hep3Vector G4ThreeVector
 
define a cluster of SB Points 
 
void IncludeUnassociatedPoints()
 
G4int GetComplexSSB() const 
 
std::vector< ClusterSBPoints * > fpClusters
 
std::map< G4int, G4int > RunClustering()
 
ClusteringAlgoMessenger * fpClustAlgoMessenger
 
unsigned int fNextSBPointID
 
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.