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.8 2006/05/24 13:58:18 ivana Exp $
8 /// \class AliMpMotifTypePadIterator
9 /// \brief An iterator over the pads of a given motif type
11 /// \author 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"
20 class AliMpMotifTypePadIterator : public AliMpVPadIterator
23 AliMpMotifTypePadIterator();
24 AliMpMotifTypePadIterator(const AliMpMotifType* motifType);
25 AliMpMotifTypePadIterator(const AliMpMotifTypePadIterator& right);
26 virtual ~AliMpMotifTypePadIterator();
29 AliMpMotifTypePadIterator&
30 operator = (const AliMpMotifTypePadIterator& right);
34 virtual Bool_t IsDone() const;
35 virtual AliMpPad CurrentItem() const;
36 virtual void Invalidate();
40 Bool_t FindFirstPadInLine(Int_t ix, Int_t iy,
41 Int_t& newIx, Int_t& newIy) const;
42 Bool_t IsValid() const;
44 // private data members
45 const AliMpMotifType* fkMotifType;///< the motif type over which iterate
46 Int_t fCurrentIx; ///< the current ix position inside the motif type
47 Int_t fCurrentIy; ///< the current iy position inside the motif type
49 ClassDef(AliMpMotifTypePadIterator,2) // iterator over motif's pads
52 #endif // ALI_MP_MOTIF_TYPE_PAD_ITERATOR_H