]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpPlaneAreaPadIterator.h
new class AliMUONLoader
[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
14#include <TObject.h>
15
16#include "AliMpPlaneTypes.h"
17#include "AliMpVPadIterator.h"
18#include "AliMpTransformPadIterator.h"
19#include "AliMpArea.h"
20#include "AliMpPad.h"
21
22class AliMpPlaneSegmentation;
23
24class AliMpPlaneAreaPadIterator : public AliMpVPadIterator
25{
26 public:
27 AliMpPlaneAreaPadIterator(const AliMpPlaneSegmentation* segmentation,
28 const AliMpArea& area);
29 AliMpPlaneAreaPadIterator(const AliMpPlaneAreaPadIterator& src);
30 AliMpPlaneAreaPadIterator();
31 virtual ~AliMpPlaneAreaPadIterator();
32
33 // operators
34 AliMpPlaneAreaPadIterator&
35 operator = (const AliMpPlaneAreaPadIterator& right);
36
37 // methods
38 virtual void First();
39 virtual void Next();
40 virtual Bool_t IsDone() const;
41 virtual AliMpPad CurrentItem() const;
42 virtual void Invalidate();
43
44 private:
45 // private methods
46 void DecomposeArea();
47
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
57
58 ClassDef(AliMpPlaneAreaPadIterator,1) // iterator over motif's pads
59};
60#endif // ALI_MP_PLANE_AREA_PAD_ITERATOR_H