]>
Commit | Line | Data |
---|---|---|
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: AliMpSectorAreaVPadIterator.h,v 1.4 2005/08/26 15:43:36 ivana Exp $ |
6 | ||
7 | /// \ingroup sector | |
8 | /// \class AliMpSectorAreaVPadIterator | |
9 | /// \brief An iterator over the pads inside a given area in a sector | |
10 | /// in vertical direction. | |
11 | /// | |
12 | /// Authors: David Guez, Ivana Hrivnacova; IPN Orsay | |
5f91c9e8 | 13 | |
14 | #ifndef ALI_MP_SECTOR_AREA_V_PAD_ITERATOR_H | |
15 | #define ALI_MP_SECTOR_AREA_V_PAD_ITERATOR_H | |
16 | ||
17 | #include <TObject.h> | |
18 | ||
19 | #include "AliMpVPadIterator.h" | |
20 | #include "AliMpArea.h" | |
21 | #include "AliMpPad.h" | |
22 | ||
23 | class AliMpSectorSegmentation; | |
24 | ||
25 | class AliMpSectorAreaVPadIterator : public AliMpVPadIterator | |
26 | { | |
27 | public: | |
28 | AliMpSectorAreaVPadIterator(const AliMpSectorSegmentation* segmentation, | |
29 | const AliMpArea& area); | |
30 | AliMpSectorAreaVPadIterator(const AliMpSectorAreaVPadIterator& src); | |
31 | AliMpSectorAreaVPadIterator(); | |
32 | virtual ~AliMpSectorAreaVPadIterator(); | |
33 | ||
34 | // operators | |
35 | AliMpSectorAreaVPadIterator& | |
36 | operator = (const AliMpSectorAreaVPadIterator& right); | |
37 | ||
38 | // methods | |
39 | virtual void First(); | |
40 | virtual void Next(); | |
41 | virtual Bool_t IsDone() const; | |
42 | virtual AliMpPad CurrentItem() const; | |
43 | virtual void Invalidate(); | |
44 | ||
45 | private: | |
46 | // private methods | |
47 | Bool_t IsValid() const; | |
48 | void MoveRight(); | |
49 | ||
50 | // private data members | |
51 | const AliMpSectorSegmentation* fkSegmentation; // the sector segmentation | |
52 | // over which we iterate | |
53 | //const AliMpArea fkArea; // the area | |
54 | // (const caused problem with CINT) | |
55 | AliMpArea fkArea; // the area | |
56 | AliMpPad fCurrentPad; // the current pad | |
57 | Double_t fCurrentColumnPosition; // the current column position | |
58 | ||
59 | ClassDef(AliMpSectorAreaVPadIterator,1) // iterator over motif's pads | |
60 | }; | |
61 | #endif // ALI_MP_SECTOR_AREA_V_PAD_ITERATOR_H |