4 // Class AliMpPlaneAreaPadIterator
5 // -------------------------------
6 // Class, which defines an iterator over the pads
7 // inside a given area in a plane in horizontal direction.
9 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
11 #ifndef ALI_MP_PLANE_AREA_PAD_ITERATOR_H
12 #define ALI_MP_PLANE_AREA_PAD_ITERATOR_H
16 #include "AliMpPlaneTypes.h"
17 #include "AliMpVPadIterator.h"
18 #include "AliMpTransformPadIterator.h"
19 #include "AliMpArea.h"
22 class AliMpPlaneSegmentation;
24 class AliMpPlaneAreaPadIterator : public AliMpVPadIterator
27 AliMpPlaneAreaPadIterator(const AliMpPlaneSegmentation* segmentation,
28 const AliMpArea& area);
29 AliMpPlaneAreaPadIterator(const AliMpPlaneAreaPadIterator& src);
30 AliMpPlaneAreaPadIterator();
31 virtual ~AliMpPlaneAreaPadIterator();
34 AliMpPlaneAreaPadIterator&
35 operator = (const AliMpPlaneAreaPadIterator& right);
40 virtual Bool_t IsDone() const;
41 virtual AliMpPad CurrentItem() const;
42 virtual void Invalidate();
48 // private data members
49 const AliMpPlaneSegmentation* fkPlaneSegmentation; // the plane segmentation
50 // over which we iterate
51 //const AliMpArea fkArea; // the area
52 // (const caused problem with CINT)
53 AliMpArea fkArea; // the area
54 PadIteratorVector fPadIterators; // pad iterators
55 PadIteratorVectorIterator fCurrentIterator;// the current iterator
56 // in the vector of pad iterators
58 ClassDef(AliMpPlaneAreaPadIterator,1) // iterator over motif's pads
60 #endif // ALI_MP_PLANE_AREA_PAD_ITERATOR_H