]>
Commit | Line | Data |
---|---|---|
5f91c9e8 | 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 | #include "AliMpTransformPadIterator.h" | |
12 | ||
13 | ClassImp(AliMpTransformPadIterator) | |
14 | ||
15 | //______________________________________________________________________________ | |
16 | AliMpTransformPadIterator::AliMpTransformPadIterator(AliMpVPadIterator* it, | |
17 | const AliMpTransformer* transformer) | |
18 | : AliMpVPadIterator(), | |
19 | fIterator(it), | |
20 | fkTransformer(transformer) | |
21 | { | |
22 | // Standard constructor | |
23 | } | |
24 | ||
25 | //______________________________________________________________________________ | |
26 | AliMpTransformPadIterator::AliMpTransformPadIterator( | |
27 | const AliMpTransformPadIterator& right) | |
28 | : AliMpVPadIterator(right) | |
29 | { | |
30 | // Copy constructor | |
31 | ||
32 | *this = right; | |
33 | } | |
34 | ||
35 | //______________________________________________________________________________ | |
36 | AliMpTransformPadIterator::AliMpTransformPadIterator() | |
37 | : AliMpVPadIterator(), | |
38 | fIterator(0), | |
39 | fkTransformer(0) | |
40 | { | |
41 | // Default constructor | |
42 | } | |
43 | ||
44 | //______________________________________________________________________________ | |
45 | AliMpTransformPadIterator::~AliMpTransformPadIterator() | |
46 | { | |
47 | // Destructor | |
48 | // Not owner of its components, does not delete them. | |
49 | } | |
50 | ||
51 | // | |
52 | // operators | |
53 | // | |
54 | ||
55 | //______________________________________________________________________________ | |
56 | AliMpTransformPadIterator& | |
57 | AliMpTransformPadIterator::operator = (const AliMpTransformPadIterator& right) | |
58 | { | |
59 | // assignement operator | |
60 | ||
61 | // check assignement to self | |
62 | if (this == &right) return *this; | |
63 | ||
64 | // base class assignement | |
65 | TObject::operator=(right); | |
66 | ||
67 | fIterator = right.fIterator; | |
68 | fkTransformer = right.fkTransformer; | |
69 | ||
70 | return *this; | |
71 | } | |
72 | ||
73 | // | |
74 | // public methods | |
75 | // | |
76 | ||
77 | //______________________________________________________________________________ | |
78 | void AliMpTransformPadIterator::First() | |
79 | { | |
80 | // Reset the iterator, so that it points to the first available | |
81 | // pad in the area | |
82 | ||
83 | fIterator->First(); | |
84 | } | |
85 | ||
86 | //______________________________________________________________________________ | |
87 | void AliMpTransformPadIterator::Next() | |
88 | { | |
89 | // Move the iterator to the next valid pad. | |
90 | // --- | |
91 | ||
92 | fIterator->Next(); | |
93 | } | |
94 | ||
95 | //______________________________________________________________________________ | |
96 | Bool_t AliMpTransformPadIterator::IsDone() const | |
97 | { | |
98 | // | |
99 | ||
100 | return fIterator->IsDone(); | |
101 | } | |
102 | ||
103 | ||
104 | //______________________________________________________________________________ | |
105 | AliMpPad AliMpTransformPadIterator::CurrentItem() const | |
106 | { | |
107 | // Returns current pad with applied transformation. | |
108 | // --- | |
109 | ||
110 | return fkTransformer->Transform(fIterator->CurrentItem()); | |
111 | } | |
112 | ||
113 | //______________________________________________________________________________ | |
114 | void AliMpTransformPadIterator::Invalidate() | |
115 | { | |
116 | // Set iterator to invalid state. | |
117 | // --- | |
118 | ||
119 | fIterator->Invalidate(); | |
120 | } | |
121 |