]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpMotifTypePadIterator.h
- TExMap replaced with the new AliMpExMap type (Root persistent)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotifTypePadIterator.h
CommitLineData
dee1d5f1 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
5f91c9e8 4// $Id$
5006ec94 5// $MpId: AliMpMotifTypePadIterator.h,v 1.6 2005/09/26 16:10:46 ivana Exp $
dee1d5f1 6
7/// \ingroup motif
8/// \class AliMpMotifTypePadIterator
9/// \brief An iterator over the pads of a given motif type
10///
11/// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
5f91c9e8 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#include "AliMpIntPair.h"
18
19class AliMpMotifType;
20
21class AliMpMotifTypePadIterator : public AliMpVPadIterator
22{
23 public:
24 AliMpMotifTypePadIterator();
25 AliMpMotifTypePadIterator(const AliMpMotifType* motifType);
26 AliMpMotifTypePadIterator(const AliMpMotifTypePadIterator& right);
27 virtual ~AliMpMotifTypePadIterator();
28
29 // operators
30 AliMpMotifTypePadIterator&
31 operator = (const AliMpMotifTypePadIterator& 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 AliMpIntPair FindFirstPadInLine(AliMpIntPair indices) const;
42 Bool_t IsValid() const;
43
44 // private data members
45 const AliMpMotifType* fMotifType;// the motif type over which iterate
5006ec94 46 AliMpIntPair fCurrentPosition; // the current position inside the motif type
5f91c9e8 47
48 ClassDef(AliMpMotifTypePadIterator,1) // iterator over motif's pads
49};
50
51#endif // ALI_MP_MOTIF_TYPE_PAD_ITERATOR_H