]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpMotifPositionPadIterator.h
New MUON Data container and MUON loader
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotifPositionPadIterator.h
CommitLineData
5f91c9e8 1// $Id$
2// Category: motif
3//
4// Class AliMpMotifPositionPadIterator
5// -----------------------------------
6// Class, which defines an iterator over the pads of a given motif type
7//
8// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
9
10#ifndef ALI_MP_MOTIF_POSITION_PAD_ITERATOR_H
11#define ALI_MP_MOTIF_POSITION_PAD_ITERATOR_H
12
13#include "AliMpVPadIterator.h"
14#include "AliMpIntPair.h"
15#include "AliMpMotifTypePadIterator.h"
16
17class AliMpMotifPosition;
18
19class AliMpMotifPositionPadIterator : public AliMpVPadIterator
20{
21 public:
22 AliMpMotifPositionPadIterator();
23 AliMpMotifPositionPadIterator(const AliMpMotifPosition* motifPos);
24 AliMpMotifPositionPadIterator(const AliMpMotifPositionPadIterator& right);
25 virtual ~AliMpMotifPositionPadIterator();
26
27 // operators
28 AliMpMotifPositionPadIterator&
29 operator = (const AliMpMotifPositionPadIterator& right);
30
31 virtual void First();
32 virtual void Next();
33 virtual Bool_t IsDone() const;
34 virtual AliMpPad CurrentItem() const;
35 virtual void Invalidate();
36
37 private:
38 // private methods
39 Bool_t IsValid() const;
40
41 // private data members
42 const AliMpMotifPosition* fMotifPos; // the AliMpMotifPosition over which iterate
43 AliMpMotifTypePadIterator fIterator; // Iterator over the motif type
44
45 ClassDef(AliMpMotifPositionPadIterator,1) // iterator over motif's pads
46};
47
48#endif // ALI_MP_MOTIF_POSITION_PAD_ITERATOR_H