4 // Class AliMpTransformPadIterator
5 // -------------------------------
6 // Composite of iterator and transformer.
7 // Transforms returned pad.
8 // Included in AliRoot: 2003/05/02
9 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
11 #include "AliMpTransformPadIterator.h"
12 #include "AliMpTransformer.h"
14 ClassImp(AliMpTransformPadIterator)
16 //______________________________________________________________________________
17 AliMpTransformPadIterator::AliMpTransformPadIterator(AliMpVPadIterator* it,
18 const AliMpTransformer* transformer)
19 : AliMpVPadIterator(),
21 fkTransformer(transformer)
23 // Standard constructor
26 //______________________________________________________________________________
27 AliMpTransformPadIterator::AliMpTransformPadIterator(
28 const AliMpTransformPadIterator& right)
29 : AliMpVPadIterator(right)
36 //______________________________________________________________________________
37 AliMpTransformPadIterator::AliMpTransformPadIterator()
38 : AliMpVPadIterator(),
42 // Default constructor
45 //______________________________________________________________________________
46 AliMpTransformPadIterator::~AliMpTransformPadIterator()
49 // Not owner of its components, does not delete them.
56 //______________________________________________________________________________
57 AliMpTransformPadIterator&
58 AliMpTransformPadIterator::operator = (const AliMpTransformPadIterator& right)
60 // assignement operator
62 // check assignement to self
63 if (this == &right) return *this;
65 // base class assignement
66 TObject::operator=(right);
68 fIterator = right.fIterator;
69 fkTransformer = right.fkTransformer;
78 //______________________________________________________________________________
79 void AliMpTransformPadIterator::First()
81 // Reset the iterator, so that it points to the first available
87 //______________________________________________________________________________
88 void AliMpTransformPadIterator::Next()
90 // Move the iterator to the next valid pad.
96 //______________________________________________________________________________
97 Bool_t AliMpTransformPadIterator::IsDone() const
101 return fIterator->IsDone();
105 //______________________________________________________________________________
106 AliMpPad AliMpTransformPadIterator::CurrentItem() const
108 // Returns current pad with applied transformation.
111 return fkTransformer->Transform(fIterator->CurrentItem());
114 //______________________________________________________________________________
115 void AliMpTransformPadIterator::Invalidate()
117 // Set iterator to invalid state.
120 fIterator->Invalidate();