4 // Class AliMpMotifTypePadIterator
5 // -------------------------------
6 // Class, which defines an iterator over the pads of a given motif type
8 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10 #ifndef ALI_MP_MOTIF_TYPE_PAD_ITERATOR_H
11 #define ALI_MP_MOTIF_TYPE_PAD_ITERATOR_H
13 #include "AliMpVPadIterator.h"
14 #include "AliMpIntPair.h"
18 class AliMpMotifTypePadIterator : public AliMpVPadIterator
21 AliMpMotifTypePadIterator();
22 AliMpMotifTypePadIterator(const AliMpMotifType* motifType);
23 AliMpMotifTypePadIterator(const AliMpMotifTypePadIterator& right);
24 virtual ~AliMpMotifTypePadIterator();
27 AliMpMotifTypePadIterator&
28 operator = (const AliMpMotifTypePadIterator& right);
32 virtual Bool_t IsDone() const;
33 virtual AliMpPad CurrentItem() const;
34 virtual void Invalidate();
38 AliMpIntPair FindFirstPadInLine(AliMpIntPair indices) const;
39 Bool_t IsValid() const;
41 // private data members
42 const AliMpMotifType* fMotifType;// the motif type over which iterate
43 AliMpIntPair fCurrentPosition; //! the current position inside the motif type
44 // EXCLUDED FOR CINT (does not compile on HP)
46 ClassDef(AliMpMotifTypePadIterator,1) // iterator over motif's pads
49 #endif // ALI_MP_MOTIF_TYPE_PAD_ITERATOR_H