AliRoot Core  v5-06-15 (45dab64)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMpSlatPadIterator Class Reference

Iterator for slat pads. More...

#include <AliMpSlatPadIterator.h>

Inheritance diagram for AliMpSlatPadIterator:

Public Member Functions

 AliMpSlatPadIterator ()
 
 AliMpSlatPadIterator (const AliMpSlat *slat, const AliMpArea &area)
 
virtual ~AliMpSlatPadIterator ()
 
void First ()
 Set iterator to the first pad. More...
 
void Next ()
 Set iterator to the next pad. More...
 
Bool_t IsDone () const
 Is iterator done. More...
 
AliMpPad CurrentItem () const
 Return current pad. More...
 
void Invalidate ()
 Invalidate iterator (. More...
 
- Public Member Functions inherited from AliMpVPadIterator
 AliMpVPadIterator ()
 
 AliMpVPadIterator (const AliMpVPadIterator &right)
 
virtual ~AliMpVPadIterator ()
 
AliMpVPadIteratoroperator= (const AliMpVPadIterator &right)
 

Private Member Functions

 AliMpSlatPadIterator (const AliMpSlatPadIterator &)
 Not implemented. More...
 
AliMpSlatPadIteratoroperator= (const AliMpSlatPadIterator &)
 Not implemented. More...
 
Bool_t Prepare (const AliMpArea &area)
 
AliMpArea Intersect (const AliMpArea &a, const AliMpArea &b) const
 

Private Attributes

const AliMpSlatfkSlat
 pointer to the slat being iterated over More...
 
TObjArray fDelegates
 iterators we do use (array of AliMpVPadIterator*) More...
 
AliMpVPadIteratorfCurrentDelegate
 current iterator More...
 
Int_t fCurrentDelegateIndex
 current iterator index More...
 

Detailed Description

Iterator for slat pads.

Implementation of AliMpVPadIterator for slats.

This class first split the input area (upon which to iterate) into a set of areas of constant pad size. Then each of those areas is iterated over, using AliMpSlatZonePadIterator objects.

Author
L. Aphecetche

Definition at line 22 of file AliMpSlatPadIterator.h.

Constructor & Destructor Documentation

AliMpSlatPadIterator::AliMpSlatPadIterator ( )

Empty (default) ctor.

Definition at line 46 of file AliMpSlatPadIterator.cxx.

AliMpSlatPadIterator::AliMpSlatPadIterator ( const AliMpSlat slat,
const AliMpArea area 
)

Normal ctor. The iteration will occur on the given slat over the specified area.

Definition at line 59 of file AliMpSlatPadIterator.cxx.

AliMpSlatPadIterator::~AliMpSlatPadIterator ( )
virtual

Dtor.

Definition at line 82 of file AliMpSlatPadIterator.cxx.

AliMpSlatPadIterator::AliMpSlatPadIterator ( const AliMpSlatPadIterator )
private

Not implemented.

Member Function Documentation

AliMpPad AliMpSlatPadIterator::CurrentItem ( ) const
virtual

Return current pad.

Returns the current pad of the iteration.

Implements AliMpVPadIterator.

Definition at line 143 of file AliMpSlatPadIterator.cxx.

void AliMpSlatPadIterator::First ( )
virtual

Set iterator to the first pad.

(Re)starts the iteration.

Implements AliMpVPadIterator.

Definition at line 160 of file AliMpSlatPadIterator.cxx.

AliMpArea AliMpSlatPadIterator::Intersect ( const AliMpArea a,
const AliMpArea b 
) const
private

Returns the common part of a and b.

Definition at line 93 of file AliMpSlatPadIterator.cxx.

Referenced by Prepare().

void AliMpSlatPadIterator::Invalidate ( )
virtual

Invalidate iterator (.

Make the iterator invalid.

Implements AliMpVPadIterator.

Definition at line 179 of file AliMpSlatPadIterator.cxx.

Referenced by ~AliMpSlatPadIterator().

Bool_t AliMpSlatPadIterator::IsDone ( ) const
virtual

Is iterator done.

Returns whether the iteration is ended or not.

Implements AliMpVPadIterator.

Definition at line 191 of file AliMpSlatPadIterator.cxx.

Referenced by Next().

void AliMpSlatPadIterator::Next ( )
virtual

Set iterator to the next pad.

Next step of the iteration.

Implements AliMpVPadIterator.

Definition at line 203 of file AliMpSlatPadIterator.cxx.

AliMpSlatPadIterator& AliMpSlatPadIterator::operator= ( const AliMpSlatPadIterator )
private

Not implemented.

Bool_t AliMpSlatPadIterator::Prepare ( const AliMpArea area)
private

Split area into smaller area intersecting pcbs, and allocate the corresponding delegate iterators.

Definition at line 116 of file AliMpSlatPadIterator.cxx.

Referenced by AliMpSlatPadIterator().

Member Data Documentation

AliMpVPadIterator* AliMpSlatPadIterator::fCurrentDelegate
private

current iterator

Definition at line 48 of file AliMpSlatPadIterator.h.

Referenced by CurrentItem(), First(), Invalidate(), IsDone(), and Next().

Int_t AliMpSlatPadIterator::fCurrentDelegateIndex
private

current iterator index

Definition at line 49 of file AliMpSlatPadIterator.h.

Referenced by First(), Invalidate(), IsDone(), and Next().

TObjArray AliMpSlatPadIterator::fDelegates
private

iterators we do use (array of AliMpVPadIterator*)

Definition at line 47 of file AliMpSlatPadIterator.h.

Referenced by AliMpSlatPadIterator(), First(), Invalidate(), IsDone(), Next(), and Prepare().

const AliMpSlat* AliMpSlatPadIterator::fkSlat
private

pointer to the slat being iterated over

Definition at line 46 of file AliMpSlatPadIterator.h.

Referenced by Prepare().


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