AliRoot Core  3abf5b4 (3abf5b4)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONPreClusterFinderV3 Class Reference

A basic pre-cluster finder. More...

#include <AliMUONPreClusterFinderV3.h>

Inheritance diagram for AliMUONPreClusterFinderV3:

Public Member Functions

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

Private Member Functions

 AliMUONPreClusterFinderV3 (const AliMUONPreClusterFinderV3 &rhs)
 Not implemented. More...
 
AliMUONPreClusterFinderV3operator= (const AliMUONPreClusterFinderV3 &rhs)
 Not implemented. More...
 
void AddPad (AliMUONCluster &cluster, AliMUONPad *pad)
 
void AddPreCluster (AliMUONCluster &cluster, AliMUONCluster *preCluster)
 
void MakeCathodePreClusters (Int_t cathode)
 
void MakeClusters ()
 
void DumpPreClusters () const
 

Private Attributes

TClonesArray * fClusters
 ! the clusters we've found (owner) More...
 
const AliMpVSegmentation ** fkSegmentations
 ! segmentations (not owner) More...
 
TObjArray ** fPads
 ! the pads corresponding to the digits (not owner) More...
 
TClonesArray * fPreClusters [2]
 ! the preclusters per cathode (owner) More...
 
Int_t fDetElemId
 ! which DE we're considering More...
 
TIterator * fIterator
 ! iterator on fClusters More...
 

Detailed Description

A basic pre-cluster finder.

Implementation of AliMUONVClusterFinder

This version uses a 2 steps approach :

we first clusterize each cathode independently to form proto-preclusters, and then we try to "merge" proto-preclusters from the two cathodes when thoses proto-preclusters overlap, thus ending up with preclusters spanning the two cathodes.

This implementation, on the contrary to PreClusterFinder or PreClusterFinderV2 should not depend on the order of the input digits.

Author
Laurent Aphecetche

Definition at line 23 of file AliMUONPreClusterFinderV3.h.

Constructor & Destructor Documentation

AliMUONPreClusterFinderV3::AliMUONPreClusterFinderV3 ( )
AliMUONPreClusterFinderV3::~AliMUONPreClusterFinderV3 ( )
virtual

dtor

Definition at line 72 of file AliMUONPreClusterFinderV3.cxx.

AliMUONPreClusterFinderV3::AliMUONPreClusterFinderV3 ( const AliMUONPreClusterFinderV3 rhs)
private

Not implemented.

Member Function Documentation

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

Add a pad to a cluster

Definition at line 203 of file AliMUONPreClusterFinderV3.cxx.

Referenced by MakeCathodePreClusters().

void AliMUONPreClusterFinderV3::AddPreCluster ( AliMUONCluster cluster,
AliMUONCluster preCluster 
)
private

Add a pad to a cluster

Definition at line 163 of file AliMUONPreClusterFinderV3.cxx.

Referenced by MakeClusters().

void AliMUONPreClusterFinderV3::DumpPreClusters ( ) const
private

Dump preclusters

Definition at line 143 of file AliMUONPreClusterFinderV3.cxx.

Referenced by AddPreCluster().

void AliMUONPreClusterFinderV3::MakeCathodePreClusters ( Int_t  cathode)
private

Build (proto)preclusters from digits on a given cathode

Definition at line 260 of file AliMUONPreClusterFinderV3.cxx.

Referenced by Prepare().

void AliMUONPreClusterFinderV3::MakeClusters ( )
private

Associate (proto)preclusters to form (pre)clusters

Definition at line 235 of file AliMUONPreClusterFinderV3.cxx.

Referenced by Prepare().

virtual Bool_t AliMUONPreClusterFinderV3::NeedSegmentation ( ) const
inlinevirtual
Todo:
add comment

Reimplemented from AliMUONVClusterFinder.

Definition at line 29 of file AliMUONPreClusterFinderV3.h.

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

Returns the next cluster

Implements AliMUONVClusterFinder.

Definition at line 226 of file AliMUONPreClusterFinderV3.cxx.

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

Not implemented.

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

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

Reimplemented from AliMUONVClusterFinder.

Definition at line 102 of file AliMUONPreClusterFinderV3.cxx.

Bool_t AliMUONPreClusterFinderV3::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 84 of file AliMUONPreClusterFinderV3.cxx.

Member Data Documentation

TClonesArray* AliMUONPreClusterFinderV3::fClusters
private

! the clusters we've found (owner)

Definition at line 56 of file AliMUONPreClusterFinderV3.h.

Referenced by MakeClusters(), Prepare(), and ~AliMUONPreClusterFinderV3().

Int_t AliMUONPreClusterFinderV3::fDetElemId
private

! which DE we're considering

Definition at line 60 of file AliMUONPreClusterFinderV3.h.

Referenced by Prepare(), and UsePad().

TIterator* AliMUONPreClusterFinderV3::fIterator
private

! iterator on fClusters

Definition at line 61 of file AliMUONPreClusterFinderV3.h.

Referenced by NextCluster(), and Prepare().

const AliMpVSegmentation** AliMUONPreClusterFinderV3::fkSegmentations
private

! segmentations (not owner)

Definition at line 57 of file AliMUONPreClusterFinderV3.h.

Referenced by Prepare().

TObjArray** AliMUONPreClusterFinderV3::fPads
private

! the pads corresponding to the digits (not owner)

Definition at line 58 of file AliMUONPreClusterFinderV3.h.

Referenced by AddPad(), MakeCathodePreClusters(), Prepare(), and UsePad().

TClonesArray* AliMUONPreClusterFinderV3::fPreClusters[2]
private

! the preclusters per cathode (owner)

Definition at line 59 of file AliMUONPreClusterFinderV3.h.

Referenced by AddPreCluster(), DumpPreClusters(), MakeCathodePreClusters(), MakeClusters(), Prepare(), and ~AliMUONPreClusterFinderV3().


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