]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpTransformPadIterator.h
We do not need HERWIG and TPHIC by default in aliroot
[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 "AliMpPad.h"
16
17 class AliMpTransformer;
18
19 class AliMpTransformPadIterator : public AliMpVPadIterator
20 {
21   public:
22     AliMpTransformPadIterator(AliMpVPadIterator* it, 
23                               const AliMpTransformer* transformer);
24     AliMpTransformPadIterator(const AliMpTransformPadIterator& right);
25     AliMpTransformPadIterator();
26     virtual ~AliMpTransformPadIterator();     
27
28     // operators
29     AliMpTransformPadIterator& operator=(const AliMpTransformPadIterator& right);
30
31     // methods
32     virtual void First();
33     virtual void Next();
34     virtual Bool_t IsDone() const;
35     virtual AliMpPad CurrentItem() const;
36     virtual void Invalidate();
37  
38   private:
39     AliMpVPadIterator*      fIterator;     // iterator
40     const AliMpTransformer* fkTransformer; // transformer
41  
42   ClassDef(AliMpTransformPadIterator,1) // abstract pad iterator
43 };
44
45 #endif // ALI_MP_TRANSFORM_PAD_ITERATOR_H