Replacement of AliMpIntPair object with algoritmic
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSectorPadIterator.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: AliMpSectorPadIterator.h,v 1.7 2006/05/24 13:58:21 ivana Exp $
dee1d5f1 6
7/// \ingroup sector
8/// \class AliMpSectorPadIterator
9/// \brief An iterator over the pads of a sector
10///
13985652 11/// \author David Guez, Ivana Hrivnacova; IPN Orsay
5f91c9e8 12
2998a151 13#ifndef ALI_MP_SECTOR_PAD_ITERATOR_H
14#define ALI_MP_SECTOR_PAD_ITERATOR_H
5f91c9e8 15
2998a151 16#include "AliMpVPadIterator.h"
5f91c9e8 17#include "AliMpMotifPositionPadIterator.h"
18
19class AliMpSector;
20class AliMpMotifPosition;
21
22
23class AliMpSectorPadIterator : public AliMpVPadIterator
24{
25 public:
26 AliMpSectorPadIterator();
5d0435dd 27 AliMpSectorPadIterator(const AliMpSector* sector);
5f91c9e8 28 AliMpSectorPadIterator(const AliMpSectorPadIterator& src);
29 virtual ~AliMpSectorPadIterator();
30
31 // operators
32 AliMpSectorPadIterator& operator = (const AliMpSectorPadIterator& right);
33
34 // methods
35 virtual void First();
36 virtual void Next();
37 virtual Bool_t IsDone() const;
38 virtual AliMpPad CurrentItem() const;
39 virtual void Invalidate();
40
41 private:
42 // private methods
43 AliMpMotifPosition* ResetToCurrentMotifPosition();
44 Bool_t IsValid() const;
45
46 // private data members
8c7e6967 47 const AliMpSector* fkSector; ///< the sector over which to iterate
48 UInt_t fCurrentIndex; ///< the current motif position index
829425a5 49 AliMpMotifPosition* fMotifPos; ///< the current motif position
50 AliMpMotifPositionPadIterator fIterator; ///< iterator over the current motif type
5f91c9e8 51
52 ClassDef(AliMpSectorPadIterator,1) // iterator over motif's pads
53};
54
2998a151 55#endif // ALI_MP_SECTOR_PAD_ITERATOR_H