AliRoot Core  da88d91 (da88d91)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONPreClusterFinder Class Reference

A basic pre-cluster finder. More...

#include <AliMUONPreClusterFinder.h>

Inheritance diagram for AliMUONPreClusterFinder:

Public Member Functions

 AliMUONPreClusterFinder ()
 
virtual ~AliMUONPreClusterFinder ()
 
virtual Bool_t Prepare (Int_t detElemId, TObjArray *pads[2], const AliMpArea &area)
 
virtual AliMUONClusterNextCluster ()
 
virtual Bool_t UsePad (const AliMUONPad &pad)
 
- Public Member Functions inherited from AliMUONVClusterFinder
 AliMUONVClusterFinder ()
 
virtual ~AliMUONVClusterFinder ()
 
virtual Bool_t NeedSegmentation () const
 
virtual Bool_t Prepare (Int_t detElemId, TObjArray *pads[2], const AliMpArea &area, const AliMpVSegmentation *segmentations[2])
 
virtual void SetChargeHints (Double_t, Double_t)
 

Private Member Functions

 AliMUONPreClusterFinder (const AliMUONPreClusterFinder &rhs)
 Not implemented. More...
 
AliMUONPreClusterFinderoperator= (const AliMUONPreClusterFinder &rhs)
 Not implemented. More...
 
void AddPad (AliMUONCluster &cluster, AliMUONPad *pad)
 
AliMUONPadGetNextPad (Int_t cathode) const
 
virtual Bool_t ShouldAbort () const
 Whether we should stop working... More...
 
AliMUONClusterNewCluster ()
 
void RemoveCluster (AliMUONCluster *cluster)
 

Private Attributes

TClonesArray fClusters
 ! the clusters we've found (owner) More...
 
TObjArray ** fPads
 ! the pads corresponding to the digits (not owner) More...
 
Int_t fDetElemId
 ! which DE we're considering More...
 
AliMpArea fArea
 ! area into which to consider pads to start a cluster More...
 
Bool_t fShouldAbort
 ! to indicate clustering should stop right now More...
 

Detailed Description

A basic pre-cluster finder.

Implementation of AliMUONVClusterFinder

This class simply find adjacent pads to form clusters

Author
Laurent Aphecetche

Definition at line 29 of file AliMUONPreClusterFinder.h.

Constructor & Destructor Documentation

AliMUONPreClusterFinder::AliMUONPreClusterFinder ( )
AliMUONPreClusterFinder::~AliMUONPreClusterFinder ( )
virtual

dtor : note we're owner of the clusters, but not of the pads

Definition at line 62 of file AliMUONPreClusterFinder.cxx.

AliMUONPreClusterFinder::AliMUONPreClusterFinder ( const AliMUONPreClusterFinder rhs)
private

Not implemented.

Member Function Documentation

void AliMUONPreClusterFinder::AddPad ( AliMUONCluster cluster,
AliMUONPad pad 
)
private

Add a pad to a cluster

FIXME : we should at that point really find a better way to remove "bad" preclusters, like e.g. computing the charge dispersion (the lower, the most probably we have noise cluster) and/or mean charge per pad (if too close to LowestPadCharge, again that's a noise cluster... BUT this needs carefull testing !

Definition at line 105 of file AliMUONPreClusterFinder.cxx.

Referenced by NextCluster().

AliMUONPad * AliMUONPreClusterFinder::GetNextPad ( Int_t  cathode) const
private

Return the next unused pad of given cathode, which is within fArea

Definition at line 173 of file AliMUONPreClusterFinder.cxx.

Referenced by NextCluster().

AliMUONCluster * AliMUONPreClusterFinder::NewCluster ( )
private

Create a new (empty) cluster

Definition at line 199 of file AliMUONPreClusterFinder.cxx.

Referenced by NextCluster().

AliMUONCluster * AliMUONPreClusterFinder::NextCluster ( )
virtual
Todo:
add comment

Builds the next cluster, and returns it.

Implements AliMUONVClusterFinder.

Definition at line 220 of file AliMUONPreClusterFinder.cxx.

AliMUONPreClusterFinder& AliMUONPreClusterFinder::operator= ( const AliMUONPreClusterFinder rhs)
private

Not implemented.

Bool_t AliMUONPreClusterFinder::Prepare ( Int_t  detElemId,
TObjArray pads[2],
const AliMpArea area 
)
virtual

Prepare for clustering, by giving access to segmentations and digit lists

Reimplemented from AliMUONVClusterFinder.

Definition at line 86 of file AliMUONPreClusterFinder.cxx.

void AliMUONPreClusterFinder::RemoveCluster ( AliMUONCluster cluster)
private

Remove a cluster Note that we are not releasing the pads, so they won't be used further on

Definition at line 210 of file AliMUONPreClusterFinder.cxx.

Referenced by NextCluster().

virtual Bool_t AliMUONPreClusterFinder::ShouldAbort ( ) const
inlineprivatevirtual

Whether we should stop working...

Definition at line 56 of file AliMUONPreClusterFinder.h.

Referenced by NextCluster().

Bool_t AliMUONPreClusterFinder::UsePad ( const AliMUONPad pad)
virtual

Add a pad to the list of pads to be considered for clustering. Typical usage is to "put-back-in-business" a pad that was part of a previous cluster (returned by NextCluster) but was externally identified of not being part of that cluster, so it must be reuseable. Might not be implemented by all cluster finders... (in which case it must returns kFALSE)

Add a pad to the list of pads to be considered

Not implemented

Reimplemented from AliMUONVClusterFinder.

Definition at line 69 of file AliMUONPreClusterFinder.cxx.

Member Data Documentation

AliMpArea AliMUONPreClusterFinder::fArea
private

! area into which to consider pads to start a cluster

Definition at line 65 of file AliMUONPreClusterFinder.h.

Referenced by GetNextPad(), and Prepare().

TClonesArray AliMUONPreClusterFinder::fClusters
private

! the clusters we've found (owner)

Definition at line 62 of file AliMUONPreClusterFinder.h.

Referenced by NewCluster(), Prepare(), and RemoveCluster().

Int_t AliMUONPreClusterFinder::fDetElemId
private

! which DE we're considering

Definition at line 64 of file AliMUONPreClusterFinder.h.

Referenced by NextCluster(), Prepare(), and UsePad().

TObjArray** AliMUONPreClusterFinder::fPads
private

! the pads corresponding to the digits (not owner)

Definition at line 63 of file AliMUONPreClusterFinder.h.

Referenced by AddPad(), GetNextPad(), NextCluster(), Prepare(), and UsePad().

Bool_t AliMUONPreClusterFinder::fShouldAbort
private

! to indicate clustering should stop right now

Definition at line 66 of file AliMUONPreClusterFinder.h.

Referenced by AddPad(), Prepare(), and ShouldAbort().


The documentation for this class was generated from the following files: