]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUON2DMapIterator.cxx
Fixing compiler warnings
[u/mrichter/AliRoot.git] / MUON / AliMUON2DMapIterator.cxx
CommitLineData
f246123b 1/**************************************************************************
2* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3* *
4* Author: The ALICE Off-line Project. *
5* Contributors are mentioned in the code where appropriate. *
6* *
7* Permission to use, copy, modify and distribute this software and its *
8* documentation strictly for non-commercial purposes is hereby granted *
9* without fee, provided that the above copyright notice appears in all *
10* copies and that both the copyright notice and this permission notice *
11* appear in the supporting documentation. The authors make no claims *
12* about the suitability of this software for any purpose. It is *
13* provided "as is" without express or implied warranty. *
14**************************************************************************/
15
16// $Id$
17
18#include "AliMUON2DMapIterator.h"
f246123b 19
3d1463c8 20//-----------------------------------------------------------------------------
f246123b 21/// \class AliMUON2DMapIterator
cb6388d5 22/// Implementation of TIterator for 2Dmaps
f246123b 23///
24/// A simple implementation of VDataIterator for 2Dmaps.
25///
26/// \author Laurent Aphecetche
3d1463c8 27//-----------------------------------------------------------------------------
f246123b 28
cb6388d5 29#include "AliMpExMap.h"
630711ed 30#include "AliMpExMapIterator.h"
31#include "AliLog.h"
cb6388d5 32
f246123b 33/// \cond CLASSIMP
34ClassImp(AliMUON2DMapIterator)
35/// \endcond
36
37//_____________________________________________________________________________
7332f213 38AliMUON2DMapIterator::AliMUON2DMapIterator(const AliMpExMap& theMap)
39: TIterator(),
40fkMap(&theMap),
630711ed 41fIter1(theMap.CreateIterator()),
42fIter2(NextIterator())
f246123b 43{
c4ee792d 44 /// default ctor
f246123b 45 Reset();
46}
47
cb6388d5 48//_____________________________________________________________________________
6805f5be 49AliMUON2DMapIterator&
50AliMUON2DMapIterator::operator=(const TIterator& /*rhs*/)
cb6388d5 51{
6805f5be 52 // overriden operator= (imposed by Root's definition of TIterator::operator= ?)
cb6388d5 53
6805f5be 54 AliFatalGeneral("operator=(TIterator&)",""); // as in copy ctor
cb6388d5 55 return *this;
56}
57
f246123b 58//_____________________________________________________________________________
59AliMUON2DMapIterator::~AliMUON2DMapIterator()
60{
c4ee792d 61 /// dtor
f246123b 62}
63
cb6388d5 64//_____________________________________________________________________________
65const TCollection*
66AliMUON2DMapIterator::GetCollection() const
67{
68 /// Return 0 as we're not really dealing with a Root TCollection...
69 return 0x0;
70}
71
f246123b 72//_____________________________________________________________________________
630711ed 73TIterator*
74AliMUON2DMapIterator::NextIterator()
f246123b 75{
630711ed 76 /// Get next map (from fIter1) and create an iterator to it
77
78 AliMpExMap* m = static_cast<AliMpExMap*>(fIter1->Next());
79
80 if (!m) return 0x0;
81
82 return m->CreateIterator();
f246123b 83}
84
85//_____________________________________________________________________________
86TObject*
87AliMUON2DMapIterator::Next()
88{
47a48067 89 /// return next object
90
630711ed 91 if (!fIter2) return 0x0;
92
93 TObject* o = fIter2->Next();
f246123b 94
630711ed 95 if (!o)
47a48067 96 {
630711ed 97 fIter2 = NextIterator();
98 return Next();
cb6388d5 99 }
630711ed 100
101 return o;
f246123b 102}
103
104//_____________________________________________________________________________
105void
106AliMUON2DMapIterator::Reset()
107{
c4ee792d 108 /// rewind the iterator
47a48067 109
630711ed 110 delete fIter2;
111 fIter1->Reset();
112 fIter2 = NextIterator();
f246123b 113}
47a48067 114