]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpPlaneAreaPadIterator.h
Mapping test macros (D. Guez, I. Hrivnacova)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpPlaneAreaPadIterator.h
CommitLineData
5f91c9e8 1// $Id$
2// Category: plane
3//
4// Class AliMpPlaneAreaPadIterator
5// -------------------------------
6// Class, which defines an iterator over the pads
7// inside a given area in a plane in horizontal direction.
8//
9// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10
11#ifndef ALI_MP_PLANE_AREA_PAD_ITERATOR_H
12#define ALI_MP_PLANE_AREA_PAD_ITERATOR_H
13
5f91c9e8 14#include "AliMpPlaneTypes.h"
15#include "AliMpVPadIterator.h"
16#include "AliMpTransformPadIterator.h"
17#include "AliMpArea.h"
18#include "AliMpPad.h"
19
20class AliMpPlaneSegmentation;
21
22class AliMpPlaneAreaPadIterator : public AliMpVPadIterator
23{
24 public:
25 AliMpPlaneAreaPadIterator(const AliMpPlaneSegmentation* segmentation,
26 const AliMpArea& area);
27 AliMpPlaneAreaPadIterator(const AliMpPlaneAreaPadIterator& src);
28 AliMpPlaneAreaPadIterator();
29 virtual ~AliMpPlaneAreaPadIterator();
30
31 // operators
32 AliMpPlaneAreaPadIterator&
33 operator = (const AliMpPlaneAreaPadIterator& 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 void DecomposeArea();
45
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
55
56 ClassDef(AliMpPlaneAreaPadIterator,1) // iterator over motif's pads
57};
58#endif // ALI_MP_PLANE_AREA_PAD_ITERATOR_H