]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpTransformPadIterator.cxx
new class AliMUONLoader
[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.
8//
9// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10
11#include "AliMpTransformPadIterator.h"
12
13ClassImp(AliMpTransformPadIterator)
14
15//______________________________________________________________________________
16AliMpTransformPadIterator::AliMpTransformPadIterator(AliMpVPadIterator* it,
17 const AliMpTransformer* transformer)
18 : AliMpVPadIterator(),
19 fIterator(it),
20 fkTransformer(transformer)
21{
22// Standard constructor
23}
24
25//______________________________________________________________________________
26AliMpTransformPadIterator::AliMpTransformPadIterator(
27 const AliMpTransformPadIterator& right)
28 : AliMpVPadIterator(right)
29{
30// Copy constructor
31
32 *this = right;
33}
34
35//______________________________________________________________________________
36AliMpTransformPadIterator::AliMpTransformPadIterator()
37 : AliMpVPadIterator(),
38 fIterator(0),
39 fkTransformer(0)
40{
41// Default constructor
42}
43
44//______________________________________________________________________________
45AliMpTransformPadIterator::~AliMpTransformPadIterator()
46{
47// Destructor
48// Not owner of its components, does not delete them.
49}
50
51//
52// operators
53//
54
55//______________________________________________________________________________
56AliMpTransformPadIterator&
57AliMpTransformPadIterator::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//______________________________________________________________________________
78void 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//______________________________________________________________________________
87void AliMpTransformPadIterator::Next()
88{
89// Move the iterator to the next valid pad.
90// ---
91
92 fIterator->Next();
93}
94
95//______________________________________________________________________________
96Bool_t AliMpTransformPadIterator::IsDone() const
97{
98//
99
100 return fIterator->IsDone();
101}
102
103
104//______________________________________________________________________________
105AliMpPad AliMpTransformPadIterator::CurrentItem() const
106{
107// Returns current pad with applied transformation.
108// ---
109
110 return fkTransformer->Transform(fIterator->CurrentItem());
111}
112
113//______________________________________________________________________________
114void AliMpTransformPadIterator::Invalidate()
115{
116// Set iterator to invalid state.
117// ---
118
119 fIterator->Invalidate();
120}
121