]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpSectorPadIterator.h
Implemented write and read methods (with real mapping for tracker chamber) (Christian)
[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$
dee1d5f1 5// $MpId: AliMpSectorPadIterator.h,v 1.5 2005/08/26 15:43:36 ivana Exp $
6
7/// \ingroup sector
8/// \class AliMpSectorPadIterator
9/// \brief An iterator over the pads of a sector
10///
11/// Authors: 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
47 const AliMpSector* fkSector; // the sector over which to iterate
48 Int_t fCurrentRow; // the current row number
49 Int_t fCurrentSeg; // the current Row Segment number in fCurrentRow
50 Int_t fCurrentMotif; // the current motif number in fCurrentSeg
51 AliMpMotifPosition* fMotifPos; // the current motif position
52 AliMpMotifPositionPadIterator fIterator; // iterator over the current motif type
53
54 ClassDef(AliMpSectorPadIterator,1) // iterator over motif's pads
55};
56
2998a151 57#endif // ALI_MP_SECTOR_PAD_ITERATOR_H