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