Code for MUON Station1 (I.Hrivnacova)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpTransformPadIterator.h
1 // $Id$
2 // Category: basic
3 //
4 // Class AliMpTransformPadIterator
5 // -------------------------------
6 // Composite of iterator and transformer.
7 // Transforms returned pad. 
8 //
9 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10
11 #ifndef ALI_MP_TRANSFORM_PAD_ITERATOR_H
12 #define ALI_MP_TRANSFORM_PAD_ITERATOR_H
13
14 #include "AliMpVPadIterator.h"
15 #include "AliMpTransformer.h"
16 #include "AliMpPad.h"
17
18 class AliMpTransformPadIterator : public AliMpVPadIterator
19 {
20   public:
21     AliMpTransformPadIterator(AliMpVPadIterator* it, 
22                               const AliMpTransformer* transformer);
23     AliMpTransformPadIterator(const AliMpTransformPadIterator& right);
24     AliMpTransformPadIterator();
25     virtual ~AliMpTransformPadIterator();     
26
27     // operators
28     AliMpTransformPadIterator& operator=(const AliMpTransformPadIterator& right);
29
30     // methods
31     virtual void First();
32     virtual void Next();
33     virtual Bool_t IsDone() const;
34     virtual AliMpPad CurrentItem() const;
35     virtual void Invalidate();
36  
37   private:
38     AliMpVPadIterator*      fIterator;     // iterator
39     const AliMpTransformer* fkTransformer; // transformer
40  
41   ClassDef(AliMpTransformPadIterator,1) // abstract pad iterator
42 };
43
44 #endif // ALI_MP_TRANSFORM_PAD_ITERATOR_H