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: AliMpMotifPositionPadIterator.h,v 1.7 2006/05/24 13:58:18 ivana Exp $
6 :
7 : /// \ingroup motif
8 : /// \class AliMpMotifPositionPadIterator
9 : /// \brief An iterator over the pads of a given motif position
10 : ///
11 : /// \author David Guez, Ivana Hrivnacova; IPN Orsay
12 :
13 : #ifndef ALI_MP_MOTIF_POSITION_PAD_ITERATOR_H
14 : #define ALI_MP_MOTIF_POSITION_PAD_ITERATOR_H
15 :
16 : #include "AliMpVPadIterator.h"
17 : #include "AliMpMotifTypePadIterator.h"
18 :
19 : class AliMpMotifPosition;
20 :
21 : class AliMpMotifPositionPadIterator : public AliMpVPadIterator
22 : {
23 : public:
24 : AliMpMotifPositionPadIterator();
25 : AliMpMotifPositionPadIterator(const AliMpMotifPosition* motifPos);
26 : AliMpMotifPositionPadIterator(const AliMpMotifPositionPadIterator& right);
27 : virtual ~AliMpMotifPositionPadIterator();
28 :
29 : // operators
30 : AliMpMotifPositionPadIterator&
31 : operator = (const AliMpMotifPositionPadIterator& right);
32 :
33 : virtual void First();
34 : virtual void Next();
35 : virtual Bool_t IsDone() const;
36 : virtual AliMpPad CurrentItem() const;
37 : virtual void Invalidate();
38 :
39 : private:
40 : // private methods
41 : Bool_t IsValid() const;
42 :
43 : // private data members
44 : const AliMpMotifPosition* fkMotifPos;///< the AliMpMotifPosition over which iterate
45 : AliMpMotifTypePadIterator fIterator; ///< Iterator over the motif type
46 :
47 18 : ClassDef(AliMpMotifPositionPadIterator,2) // iterator over motif's pads
48 : };
49 :
50 : #endif // ALI_MP_MOTIF_POSITION_PAD_ITERATOR_H
|