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
14 #include "AliMpPlaneTypes.h"
15 #include "AliMpVPadIterator.h"
16 #include "AliMpTransformPadIterator.h"
17 #include "AliMpArea.h"
20 class AliMpPlaneSegmentation;
22 class AliMpPlaneAreaPadIterator : public AliMpVPadIterator
25 AliMpPlaneAreaPadIterator(const AliMpPlaneSegmentation* segmentation,
26 const AliMpArea& area);
27 AliMpPlaneAreaPadIterator(const AliMpPlaneAreaPadIterator& src);
28 AliMpPlaneAreaPadIterator();
29 virtual ~AliMpPlaneAreaPadIterator();
32 AliMpPlaneAreaPadIterator&
33 operator = (const AliMpPlaneAreaPadIterator& right);
38 virtual Bool_t IsDone() const;
39 virtual AliMpPad CurrentItem() const;
40 virtual void Invalidate();
46 // private data members
47 const AliMpPlaneSegmentation* fkPlaneSegmentation; // the plane segmentation
48 // over which we iterate
49 //const AliMpArea fkArea; // the area
50 // (const caused problem with CINT)
51 AliMpArea fkArea; // the area
52 PadIteratorVector fPadIterators; // pad iterators
53 PadIteratorVectorIterator fCurrentIterator;// the current iterator
54 // in the vector of pad iterators
56 ClassDef(AliMpPlaneAreaPadIterator,1) // iterator over motif's pads
58 #endif // ALI_MP_PLANE_AREA_PAD_ITERATOR_H