]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpMotifTypePadIterator.h
Removing a comma that gcc 3.4 does not like ;-)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotifTypePadIterator.h
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  ClassDef(AliMpMotifTypePadIterator,2) // iterator over motif's pads
50 };
51
52 #endif // ALI_MP_MOTIF_TYPE_PAD_ITERATOR_H