Coding conventions corrections only
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSectorAreaHPadIterator.h
1 // $Id$
2 // Category: sector
3 //
4 // Class AliMpSectorAreaHPadIterator
5 // ---------------------------------
6 // Class, which defines an iterator over the pads 
7 // inside a given area in a sector in horizontal direction.
8 //
9 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10
11 #ifndef ALI_MP_SECTOR_AREA_H_PAD_ITERATOR_H
12 #define ALI_MP_SECTOR_AREA_H_PAD_ITERATOR_H
13
14 #include "AliMpVPadIterator.h"
15 #include "AliMpArea.h"
16 #include "AliMpPad.h"
17
18 class AliMpSectorSegmentation;
19
20 class AliMpSectorAreaHPadIterator : public AliMpVPadIterator
21 {
22   public:
23     AliMpSectorAreaHPadIterator(const AliMpSectorSegmentation* segmentation, 
24                                 const AliMpArea& area);
25     AliMpSectorAreaHPadIterator(const AliMpSectorAreaHPadIterator& src);
26     AliMpSectorAreaHPadIterator();
27     virtual ~AliMpSectorAreaHPadIterator();
28
29     // operators
30     AliMpSectorAreaHPadIterator& 
31       operator = (const AliMpSectorAreaHPadIterator& right);
32
33     // methods
34     virtual void First();
35     virtual void Next();
36     virtual Bool_t IsDone() const;
37     virtual AliMpPad CurrentItem() const;
38     virtual void Invalidate();
39
40   private:
41     // private methods
42     Bool_t IsValid() const;
43     void MoveUp();
44
45     // private data members
46     const AliMpSectorSegmentation*  fkSegmentation; // the sector segmentation 
47                                     // over which we iterate
48     //const AliMpArea  fkArea;         // the area
49                                        // (const caused problem with CINT)
50     AliMpArea  fkArea;                 // the area
51     AliMpPad   fCurrentPad;         // the current pad
52     Double_t   fCurrentRowPosition; // the current row position
53
54  ClassDef(AliMpSectorAreaHPadIterator,1) // iterator over motif's pads
55 };
56
57 #endif // ALI_MP_SECTOR_AREA_H_PAD_ITERATOR_H