]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpMotifTypePadIterator.h
Using Min and Max from TMath
[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$
13985652 5// $MpId: AliMpMotifTypePadIterator.h,v 1.8 2006/05/24 13:58:18 ivana Exp $
dee1d5f1 6
7/// \ingroup motif
8/// \class AliMpMotifTypePadIterator
9/// \brief An iterator over the pads of a given motif type
10///
13985652 11/// \author 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
829425a5 45 const AliMpMotifType* fMotifType;///< the motif type over which iterate
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