Line data Source code
1 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 : * See cxx source for full Copyright notice */
3 :
4 : // $Id$
5 : // $MpId: AliMpMotifTypePadIterator.h,v 1.8 2006/05/24 13:58:18 ivana Exp $
6 :
7 : /// \ingroup motif
8 : /// \class AliMpMotifTypePadIterator
9 : /// \brief An iterator over the pads of a given motif type
10 : ///
11 : /// \author David Guez, Ivana Hrivnacova; IPN Orsay
12 :
13 : #ifndef ALI_MP_MOTIF_TYPE_PAD_ITERATOR_H
14 : #define ALI_MP_MOTIF_TYPE_PAD_ITERATOR_H
15 :
16 : #include "AliMpVPadIterator.h"
17 :
18 : class AliMpMotifType;
19 :
20 : class AliMpMotifTypePadIterator : public AliMpVPadIterator
21 : {
22 : public:
23 : AliMpMotifTypePadIterator();
24 : AliMpMotifTypePadIterator(const AliMpMotifType* motifType);
25 : AliMpMotifTypePadIterator(const AliMpMotifTypePadIterator& right);
26 : virtual ~AliMpMotifTypePadIterator();
27 :
28 : // operators
29 : AliMpMotifTypePadIterator&
30 : operator = (const AliMpMotifTypePadIterator& right);
31 :
32 : virtual void First();
33 : virtual void Next();
34 : virtual Bool_t IsDone() const;
35 : virtual AliMpPad CurrentItem() const;
36 : virtual void Invalidate();
37 :
38 : private:
39 : // private methods
40 : Bool_t FindFirstPadInLine(Int_t ix, Int_t iy,
41 : Int_t& newIx, Int_t& newIy) const;
42 : Bool_t IsValid() const;
43 :
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
48 :
49 18 : ClassDef(AliMpMotifTypePadIterator,2) // iterator over motif's pads
50 : };
51 :
52 : #endif // ALI_MP_MOTIF_TYPE_PAD_ITERATOR_H
|