1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpSectorPadIterator.h,v 1.5 2005/08/26 15:43:36 ivana Exp $
8 /// \class AliMpSectorPadIterator
9 /// \brief An iterator over the pads of a sector
11 /// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
13 #ifndef ALI_MP_SECTOR_PAD_ITERATOR_H
14 #define ALI_MP_SECTOR_PAD_ITERATOR_H
16 #include "AliMpVPadIterator.h"
17 #include "AliMpMotifPositionPadIterator.h"
20 class AliMpMotifPosition;
23 class AliMpSectorPadIterator : public AliMpVPadIterator
26 AliMpSectorPadIterator();
27 AliMpSectorPadIterator(const AliMpSector* sector);
28 AliMpSectorPadIterator(const AliMpSectorPadIterator& src);
29 virtual ~AliMpSectorPadIterator();
32 AliMpSectorPadIterator& operator = (const AliMpSectorPadIterator& right);
37 virtual Bool_t IsDone() const;
38 virtual AliMpPad CurrentItem() const;
39 virtual void Invalidate();
43 AliMpMotifPosition* ResetToCurrentMotifPosition();
44 Bool_t IsValid() const;
46 // private data members
47 const AliMpSector* fkSector; // the sector over which to iterate
48 Int_t fCurrentRow; // the current row number
49 Int_t fCurrentSeg; // the current Row Segment number in fCurrentRow
50 Int_t fCurrentMotif; // the current motif number in fCurrentSeg
51 AliMpMotifPosition* fMotifPos; // the current motif position
52 AliMpMotifPositionPadIterator fIterator; // iterator over the current motif type
54 ClassDef(AliMpSectorPadIterator,1) // iterator over motif's pads
57 #endif // ALI_MP_SECTOR_PAD_ITERATOR_H