4 // Class AliMpSectorPadIterator
5 // ----------------------------
6 // Class, which defines an iterator over the pads of a sector
8 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10 #ifndef ALI_MP_SECTOR_PAD_ITERATOR_H
11 #define ALI_MP_SECTOR_PAD_ITERATOR_H
13 #include "AliMpVPadIterator.h"
14 #include "AliMpMotifPositionPadIterator.h"
17 class AliMpMotifPosition;
20 class AliMpSectorPadIterator : public AliMpVPadIterator
23 AliMpSectorPadIterator();
24 AliMpSectorPadIterator(const AliMpSector* sector);
25 AliMpSectorPadIterator(const AliMpSectorPadIterator& src);
26 virtual ~AliMpSectorPadIterator();
29 AliMpSectorPadIterator& operator = (const AliMpSectorPadIterator& right);
34 virtual Bool_t IsDone() const;
35 virtual AliMpPad CurrentItem() const;
36 virtual void Invalidate();
40 AliMpMotifPosition* ResetToCurrentMotifPosition();
41 Bool_t IsValid() const;
43 // private data members
44 const AliMpSector* fkSector; // the sector over which to iterate
45 Int_t fCurrentRow; // the current row number
46 Int_t fCurrentSeg; // the current Row Segment number in fCurrentRow
47 Int_t fCurrentMotif; // the current motif number in fCurrentSeg
48 AliMpMotifPosition* fMotifPos; // the current motif position
49 AliMpMotifPositionPadIterator fIterator; // iterator over the current motif type
51 ClassDef(AliMpSectorPadIterator,1) // iterator over motif's pads
54 #endif // ALI_MP_SECTOR_PAD_ITERATOR_H