4 // Class AliMpTransformPadIterator
5 // -------------------------------
6 // Composite of iterator and transformer.
7 // Transforms returned pad.
9 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
11 #include "AliMpTransformPadIterator.h"
13 ClassImp(AliMpTransformPadIterator)
15 //______________________________________________________________________________
16 AliMpTransformPadIterator::AliMpTransformPadIterator(AliMpVPadIterator* it,
17 const AliMpTransformer* transformer)
18 : AliMpVPadIterator(),
20 fkTransformer(transformer)
22 // Standard constructor
25 //______________________________________________________________________________
26 AliMpTransformPadIterator::AliMpTransformPadIterator(
27 const AliMpTransformPadIterator& right)
28 : AliMpVPadIterator(right)
35 //______________________________________________________________________________
36 AliMpTransformPadIterator::AliMpTransformPadIterator()
37 : AliMpVPadIterator(),
41 // Default constructor
44 //______________________________________________________________________________
45 AliMpTransformPadIterator::~AliMpTransformPadIterator()
48 // Not owner of its components, does not delete them.
55 //______________________________________________________________________________
56 AliMpTransformPadIterator&
57 AliMpTransformPadIterator::operator = (const AliMpTransformPadIterator& right)
59 // assignement operator
61 // check assignement to self
62 if (this == &right) return *this;
64 // base class assignement
65 TObject::operator=(right);
67 fIterator = right.fIterator;
68 fkTransformer = right.fkTransformer;
77 //______________________________________________________________________________
78 void AliMpTransformPadIterator::First()
80 // Reset the iterator, so that it points to the first available
86 //______________________________________________________________________________
87 void AliMpTransformPadIterator::Next()
89 // Move the iterator to the next valid pad.
95 //______________________________________________________________________________
96 Bool_t AliMpTransformPadIterator::IsDone() const
100 return fIterator->IsDone();
104 //______________________________________________________________________________
105 AliMpPad AliMpTransformPadIterator::CurrentItem() const
107 // Returns current pad with applied transformation.
110 return fkTransformer->Transform(fIterator->CurrentItem());
113 //______________________________________________________________________________
114 void AliMpTransformPadIterator::Invalidate()
116 // Set iterator to invalid state.
119 fIterator->Invalidate();