1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpMotifTypePadIterator.h,v 1.7 2006/05/23 13:07:42 ivana Exp $
8 /// \class AliMpMotifTypePadIterator
9 /// \brief An iterator over the pads of a given motif type
11 /// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
13 #ifndef ALI_MP_MOTIF_TYPE_PAD_ITERATOR_H
14 #define ALI_MP_MOTIF_TYPE_PAD_ITERATOR_H
16 #include "AliMpVPadIterator.h"
17 #include "AliMpIntPair.h"
21 class AliMpMotifTypePadIterator : public AliMpVPadIterator
24 AliMpMotifTypePadIterator();
25 AliMpMotifTypePadIterator(const AliMpMotifType* motifType);
26 AliMpMotifTypePadIterator(const AliMpMotifTypePadIterator& right);
27 virtual ~AliMpMotifTypePadIterator();
30 AliMpMotifTypePadIterator&
31 operator = (const AliMpMotifTypePadIterator& right);
35 virtual Bool_t IsDone() const;
36 virtual AliMpPad CurrentItem() const;
37 virtual void Invalidate();
41 AliMpIntPair FindFirstPadInLine(AliMpIntPair indices) const;
42 Bool_t IsValid() const;
44 // private data members
45 const AliMpMotifType* fMotifType;///< the motif type over which iterate
46 AliMpIntPair fCurrentPosition; ///< the current position inside the motif type
48 ClassDef(AliMpMotifTypePadIterator,1) // iterator over motif's pads
51 #endif // ALI_MP_MOTIF_TYPE_PAD_ITERATOR_H