21 #include "FairRootManager.h"
23 #include "TClonesArray.h"
36 , clustersInMethod_2(0)
90 for (Int_t iPad = 0; iPad <
fNofPads; iPad++) {
99 for (Int_t iPad = 0; iPad <
fNofPads; iPad++) {
136 Int_t clusterNumber = 0;
137 for (Int_t iPad = 0; iPad <
fNofPads; iPad++)
193 Int_t addedCluster) {
219 Int_t tempPad = addedPad;
227 if (wardStepRec ==
false) {
233 std::cout <<
"Error with tempPad in WardBlockCreateStep\n";
236 Int_t lastPadInRecursion = tempPad;
251 if (wardStepRec == 0) {
266 if (lastPadInRecursion != 0) {
271 std::cout <<
"Add cluster " << lastPadInRecursion <<
" in cluster "
282 Float_t listLimit = 0.9;
284 Bool_t workListFinished =
false;
288 Int_t nomActivePad = 0;
293 Bool_t wardStepRec =
true;
299 nomActivePad = lastActivePad;
301 }
while ((nomActivePad == 0) && (lastActivePad <
fNofPads));
303 if ((nomActivePad != 0) && (lastActivePad <
fNofPads)) {
306 moduleGeo, wardStep, nomActivePad);
314 || (wardStep >= (
int) (listLimit *
BLOCK_SIZE)))
316 workListFinished =
true;
320 }
while ((!workListFinished) );
376 Bool_t clusterWasDeleted =
false;
380 clusterWasDeleted =
false;
387 if (clusterWasDeleted ==
true) {
417 clusterWasDeleted =
true;
510 Float_t minimalDistance = maxDistance;
511 Int_t cluster1 = 0, cluster2 = 0;
513 minimalDistance = maxDistance + 0.0001;
540 if (minimalDistance >= maxDistance)
break;
542 if (cluster1 > cluster2) {
586 for (Int_t iPad = 0; iPad <
fNofPads;
604 Bool_t thereIsNewCluaster =
false;
614 thereIsNewCluaster =
true;
618 if (thereIsNewCluaster ==
false) {
634 }
while (minimalDistance < maxDistance);
718 Float_t maxDistance) {
720 std::cout <<
"---Ward block created\n";
723 std::cout <<
"---Ward data processed\n";
725 std::cout <<
"---Ward clustering finished\n";
758 if (
fClusters[iCluster].padsInCluster[iPad] > 10000)
return 0;
759 if (
fClusters[iCluster].padsInCluster[iPad] < 0)
return 0;