24 #include "TObjArray.h"
67 AliError(Form(
"Cannot add pad from DE %d to this cluster finder which is "
88 AliError(
"Handling of area not yet implemented for this class. Please check");
92 fClusters =
new TClonesArray(
"AliMUONCluster");
99 if (
fPads[0]->GetLast() < 0 &&
fPads[1]->GetLast() < 0 )
116 Int_t cathode = pad->
Cathode();
118 delete padArray.Remove(pad);
124 for (Int_t in = 0; in < nn; ++in)
128 TIter next2(&padArray);
131 while ( ( p2 = static_cast<AliMUONPad*>(next2()) ) )
151 static Double_t precision = 1E-4;
152 static TVector2 precisionAdjustment(precision,precision);
179 cluster->SetUniqueID(
id);
182 TIter next(
fPads[0]);
183 while ( ( pad = static_cast<AliMUONPad*>(next())) && pad->
IsUsed() ) {}
188 TIter next2(
fPads[1]);
189 while ( ( pad = static_cast<AliMUONPad*>(next2())) && pad->
IsUsed() ) {}
205 TIter next1(
fPads[1]);
208 while ( ( testPad = static_cast<AliMUONPad*>(next1())))
222 AliWarning(
"Got an empty cluster...");
static Bool_t AreOverlapping(const AliMUONPad &d1, const AliMUONPad &d2, const TVector2 &precision, AliMpArea &overlapArea)
Int_t fDetElemId
! which DE we're considering
Interface of a cluster finder.
Bool_t AreOverlapping(const AliMUONPad &pad, const AliMUONCluster &cluster)
virtual Bool_t UsePad(const AliMUONPad &pad)
A group of adjacent pads.
void AddPad(AliMUONCluster &cluster, AliMUONPad *pad)
A rectangle area positioned in plane..
Int_t Multiplicity() const
virtual AliMpPad PadByIndices(Int_t ix, Int_t iy, Bool_t warning=true) const =0
Find pad by indices.
virtual AliMUONCluster * NextCluster()
virtual ~AliMUONPreClusterFinderV2()
A basic pre-cluster finder.
Int_t Iy() const
Return y-index.
virtual Bool_t Prepare(Int_t detElemId, TObjArray *pads[2], const AliMpArea &area, const AliMpVSegmentation *seg[2])
const AliMpVSegmentation ** fkSegmentations
! segmentations (not owner)
Int_t Cathode() const
Return cathode number.
ClassImp(AliMUONPreClusterFinderV2) AliMUONPreClusterFinderV2
Bool_t IsUsed() const
Return true if is used.
TObjArray ** fPads
! the pads corresponding to the digits (not owner)
TClonesArray * fClusters
! the clusters we've found (owner)
AliMUONPad * AddPad(const AliMUONPad &pad)
The abstract base class for the segmentation.
Int_t Ix() const
Return x-index.
Bool_t IsValid() const
Return validity.
virtual Int_t GetNeighbours(const AliMpPad &pad, TObjArray &neighbours, Bool_t includeSelf=kFALSE, Bool_t includeVoid=kFALSE) const =0
Class which encapsuate all information about a pad.
Int_t DetElemId() const
Return detection element id.
AliMUONPad * Pad(Int_t index) const
Combination of digit and mppad informations.