Line data Source code
1 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 : * See cxx source for full Copyright notice */
3 :
4 : // $Id$
5 : // $MpId: AliMpSectorAreaVPadIterator.h,v 1.7 2006/05/24 13:58:21 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 : /// \author David Guez, Ivana Hrivnacova; IPN Orsay
13 :
14 : #ifndef ALI_MP_SECTOR_AREA_V_PAD_ITERATOR_H
15 : #define ALI_MP_SECTOR_AREA_V_PAD_ITERATOR_H
16 :
17 : #include "AliMpVPadIterator.h"
18 : #include "AliMpArea.h"
19 : #include "AliMpPad.h"
20 :
21 : class AliMpSectorSegmentation;
22 :
23 : class AliMpSectorAreaVPadIterator : public AliMpVPadIterator
24 : {
25 : public:
26 : AliMpSectorAreaVPadIterator(const AliMpSectorSegmentation* segmentation,
27 : const AliMpArea& area);
28 : AliMpSectorAreaVPadIterator(const AliMpSectorAreaVPadIterator& src);
29 : AliMpSectorAreaVPadIterator();
30 : virtual ~AliMpSectorAreaVPadIterator();
31 :
32 : // operators
33 : AliMpSectorAreaVPadIterator&
34 : operator = (const AliMpSectorAreaVPadIterator& right);
35 :
36 : // methods
37 : virtual void First();
38 : virtual void Next();
39 : virtual Bool_t IsDone() const;
40 : virtual AliMpPad CurrentItem() const;
41 : virtual void Invalidate();
42 :
43 : private:
44 : // private methods
45 : Bool_t IsValid() const;
46 : void MoveRight();
47 :
48 : // private data members
49 : const AliMpSectorSegmentation* fkSegmentation; ///< \brief the sector segmentation
50 : /// over which we iterate
51 : //const AliMpArea fkArea; ///< \brief the area
52 : /// (const caused problem with CINT)
53 : AliMpArea fkArea; ///< the area
54 : AliMpPad fCurrentPad; ///< the current pad
55 : Double_t fCurrentColumnPosition; ///< the current column position
56 :
57 18 : ClassDef(AliMpSectorAreaVPadIterator,1) // iterator over motif's pads
58 : };
59 : #endif // ALI_MP_SECTOR_AREA_V_PAD_ITERATOR_H
|