20 #include "AliCodeTimer.h"
33 #include <Riostream.h>
34 #include <TObjArray.h>
74 AliError(Form(
"Cannot add pad from DE %d to this cluster finder which is "
121 Int_t cathode = pad->
Cathode();
126 TObject* o = padArray.Remove(pad);
135 TIter next(&padArray);
138 while ( ( testPad = static_cast<AliMUONPad*>(next())))
153 static Double_t precision = 1E-4;
154 static TVector2 precisionAdjustment(precision,precision);
177 TIter next(
fPads[cathode]);
186 while ( ( pad = static_cast<AliMUONPad*>(next())) )
204 cluster->SetUniqueID(
id);
256 TIter next(&padArray);
259 while ( ( testPad = static_cast<AliMUONPad*>(next())) && !
ShouldAbort() )
271 AliCodeTimerAuto(Form(
"Skipping a precluster in DE %d because it got too many pads",
fDetElemId),0);
281 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
Bool_t fShouldAbort
! to indicate clustering should stop right now
Interface of a cluster finder.
Bool_t AreOverlapping(const AliMUONPad &pad, const AliMUONCluster &cluster)
AliMUONPad * GetNextPad(Int_t cathode) const
ClassImp(AliMUONPreClusterFinder) AliMUONPreClusterFinder
A group of adjacent pads.
TClonesArray fClusters
! the clusters we've found (owner)
void AddPad(AliMUONCluster &cluster, AliMUONPad *pad)
A rectangle area positioned in plane..
virtual Bool_t ShouldAbort() const
Whether we should stop working...
AliMpArea fArea
! area into which to consider pads to start a cluster
Double_t DY() const
Return half dimensions in y (cm)
Int_t Multiplicity() const
static Bool_t AreNeighbours(const AliMUONPad &d1, const AliMUONPad &d2)
Double_t Y() const
Return position in y (cm)
Bool_t IsMonoCathode() const
virtual ~AliMUONPreClusterFinder()
Double_t X() const
Return position in x (cm)
virtual Bool_t UsePad(const AliMUONPad &pad)
Int_t Cathode() const
Return cathode number.
AliMUONPad * AddPad(const AliMUONPad &pad)
Bool_t IsValid() const
Return validity.
Bool_t Overlap(const AliMpArea &area) const
Int_t DetElemId() const
Return detection element id.
AliMUONCluster * NewCluster()
A basic pre-cluster finder.
virtual AliMUONCluster * NextCluster()
AliMUONPad * Pad(Int_t index) const
void RemoveCluster(AliMUONCluster *cluster)
virtual Bool_t Prepare(Int_t detElemId, TObjArray *pads[2], const AliMpArea &area)
TObjArray ** fPads
! the pads corresponding to the digits (not owner)
Combination of digit and mppad informations.
Double_t DX() const
Return half dimensions in x (cm)