]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpTransformPadIterator.cxx
Mapping test macros (D. Guez, I. Hrivnacova)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpTransformPadIterator.cxx
CommitLineData
5f91c9e8 1// $Id$
2// Category: basic
3//
4// Class AliMpTransformPadIterator
5// -------------------------------
6// Composite of iterator and transformer.
7// Transforms returned pad.
dbe945cc 8// Included in AliRoot: 2003/05/02
5f91c9e8 9// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10
11#include "AliMpTransformPadIterator.h"
2998a151 12#include "AliMpTransformer.h"
5f91c9e8 13
14ClassImp(AliMpTransformPadIterator)
15
16//______________________________________________________________________________
17AliMpTransformPadIterator::AliMpTransformPadIterator(AliMpVPadIterator* it,
18 const AliMpTransformer* transformer)
19 : AliMpVPadIterator(),
20 fIterator(it),
21 fkTransformer(transformer)
22{
23// Standard constructor
24}
25
26//______________________________________________________________________________
27AliMpTransformPadIterator::AliMpTransformPadIterator(
28 const AliMpTransformPadIterator& right)
29 : AliMpVPadIterator(right)
30{
31// Copy constructor
32
33 *this = right;
34}
35
36//______________________________________________________________________________
37AliMpTransformPadIterator::AliMpTransformPadIterator()
38 : AliMpVPadIterator(),
39 fIterator(0),
40 fkTransformer(0)
41{
42// Default constructor
43}
44
45//______________________________________________________________________________
46AliMpTransformPadIterator::~AliMpTransformPadIterator()
47{
48// Destructor
49// Not owner of its components, does not delete them.
50}
51
52//
53// operators
54//
55
56//______________________________________________________________________________
57AliMpTransformPadIterator&
58AliMpTransformPadIterator::operator = (const AliMpTransformPadIterator& right)
59{
60// assignement operator
61
62 // check assignement to self
63 if (this == &right) return *this;
64
65 // base class assignement
66 TObject::operator=(right);
67
68 fIterator = right.fIterator;
69 fkTransformer = right.fkTransformer;
70
71 return *this;
72}
73
74//
75// public methods
76//
77
78//______________________________________________________________________________
79void AliMpTransformPadIterator::First()
80{
81// Reset the iterator, so that it points to the first available
82// pad in the area
83
84 fIterator->First();
85}
86
87//______________________________________________________________________________
88void AliMpTransformPadIterator::Next()
89{
90// Move the iterator to the next valid pad.
91// ---
92
93 fIterator->Next();
94}
95
96//______________________________________________________________________________
97Bool_t AliMpTransformPadIterator::IsDone() const
98{
99//
100
101 return fIterator->IsDone();
102}
103
104
105//______________________________________________________________________________
106AliMpPad AliMpTransformPadIterator::CurrentItem() const
107{
108// Returns current pad with applied transformation.
109// ---
110
111 return fkTransformer->Transform(fIterator->CurrentItem());
112}
113
114//______________________________________________________________________________
115void AliMpTransformPadIterator::Invalidate()
116{
117// Set iterator to invalid state.
118// ---
119
120 fIterator->Invalidate();
121}
122