52 :fEps(pEps),fMinPts(pMinPts),
53 fSPointsProb(pSPointsProb),fEMinDamage(pEMinDamage),fEMaxDamage(pEMaxDamage)
122 std::vector<SBPoint*>::iterator itVisitorPt, itObservedPt;
127 itObservedPt = itVisitorPt;
132 if(!((*itObservedPt)->HasCluster() && (*itVisitorPt)->HasCluster()))
135 (*itVisitorPt)->GetPosition(),
fEps))
138 if(!(*itObservedPt)->HasCluster() && !(*itVisitorPt)->HasCluster())
141 set<SBPoint*> clusterPoints;
142 clusterPoints.insert((*itObservedPt));
143 clusterPoints.insert((*itVisitorPt));
150 (*itObservedPt)->SetCluster(lCluster);
152 (*itVisitorPt)->SetCluster(lCluster);
156 if((*itObservedPt)->HasCluster())
158 (*itObservedPt)->GetCluster()->AddSBPoint((*itVisitorPt));
159 (*itVisitorPt)->SetCluster((*itObservedPt)->GetCluster());
162 if((*itVisitorPt)->HasCluster())
164 (*itVisitorPt)->GetCluster()->AddSBPoint((*itObservedPt));
165 (*itObservedPt)->SetCluster((*itVisitorPt)->GetCluster());
187 std::vector<ClusterSBPoints*>::iterator itCluster1, itCluster2;
192 G4ThreeVector baryCenterClust1 = (*itCluster1)->GetBarycenter();
193 itCluster2 = itCluster1;
197 G4ThreeVector baryCenterClust2 = (*itCluster2)->GetBarycenter();
201 (*itCluster1)->MergeWith(*itCluster2);
217 std::vector<SBPoint*>::iterator itVisitorPt;
218 int nbPtSansCluster = 0;
224 if(!(*itVisitorPt)->HasCluster())
237 std::vector<ClusterSBPoints*>::iterator itCluster;
243 if((*itCluster)->HasInBarycenter(pPt,
fEps))
245 (*itCluster)->AddSBPoint(pPt);
266 if(((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2))<=
267 (pMinDist/
nm*pMinDist/
nm))
281 std::vector<SBPoint*>::const_iterator itSDSPt;
286 if(!(*itSDSPt)->HasCluster())
299 std::vector<ClusterSBPoints*>::const_iterator itCluster;
304 if((*itCluster)->IsSSB())
317 std::vector<ClusterSBPoints*>::const_iterator itCluster;
322 if((*itCluster)->IsDSB())
334 std::map<G4int,G4int> sizeDistribution;
335 sizeDistribution[1]=
GetSSB();
336 std::vector<ClusterSBPoints*>::const_iterator itCluster;
341 sizeDistribution[(*itCluster)->GetSize()]++;
343 return sizeDistribution;
351 std::vector<ClusterSBPoints*>::iterator itCluster;
360 std::vector<SBPoint*>::iterator itPt;