]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUON1DMapIterator.cxx
Removing quick code hack and unnecessary methods. Now have a much cleaner implementat...
[u/mrichter/AliRoot.git] / MUON / AliMUON1DMapIterator.cxx
index b74bd59e9a679ceb749639b4c32e1e6b9a5a1cbc..8b09ff960ed5463a2b547b4a21ab5ef67b4665ff 100644 (file)
 
 // $Id$
 
-#include "AliMUON1DMapIterator.h"
-#include "AliMpExMap.h"
-#include "AliLog.h"
-#include "AliMpIntPair.h"
-#include "AliMUONObjectPair.h"
-#include "AliMpExMap.h"
-
+//-----------------------------------------------------------------------------
 /// \class AliMUON1DMapIterator
-/// Implementation of AliMUONVDataIterator for 1Dmaps
+/// Implementation of TIterator for 1Dmaps
 /// 
 /// A simple implementation of VDataIterator for 1Dmaps.
 ///
 /// \author Laurent Aphecetche
+//-----------------------------------------------------------------------------
+
+#include "AliMUON1DMapIterator.h"
+#include "AliMpExMap.h"
+#include "AliLog.h"
+#include "AliMpIntPair.h"
+#include "AliMpExMap.h"
 
 /// \cond CLASSIMP
 ClassImp(AliMUON1DMapIterator)
@@ -35,7 +36,7 @@ ClassImp(AliMUON1DMapIterator)
 
 //_____________________________________________________________________________
 AliMUON1DMapIterator::AliMUON1DMapIterator(AliMpExMap& theMap)
-: AliMUONVDataIterator(), 
+: TIterator(), 
 fIter(theMap.GetIterator()),
 fCurrentI(-1)
 {
@@ -43,6 +44,44 @@ fCurrentI(-1)
   Reset();
 }
 
+//_____________________________________________________________________________
+AliMUON1DMapIterator::AliMUON1DMapIterator(const AliMUON1DMapIterator& rhs)
+: TIterator(rhs),
+  fIter(rhs.fIter),
+  fCurrentI(rhs.fCurrentI)        
+{
+    /// copy ctor
+}
+
+//_____________________________________________________________________________
+AliMUON1DMapIterator& 
+AliMUON1DMapIterator::operator=(const AliMUON1DMapIterator& rhs)
+{
+  /// assignment operator
+  if ( this != &rhs )
+  {
+    fIter = rhs.fIter;
+    fCurrentI = rhs.fCurrentI;
+  }
+  return *this;
+}
+
+//_____________________________________________________________________________
+TIterator& 
+AliMUON1DMapIterator::operator=(const TIterator& rhs)
+{
+  /// overriden operator= (imposed by Root definition of TIterator::operator= ?)
+  
+  if ( this != &rhs && rhs.IsA() == AliMUON1DMapIterator::Class() )
+  {
+    const AliMUON1DMapIterator& rhs1 = static_cast<const AliMUON1DMapIterator&>(rhs);
+    fIter = rhs1.fIter;
+    fCurrentI = rhs1.fCurrentI;
+  }
+  return *this;
+}
+
+
 //_____________________________________________________________________________
 AliMUON1DMapIterator::~AliMUON1DMapIterator()
 {
@@ -53,17 +92,12 @@ AliMUON1DMapIterator::~AliMUON1DMapIterator()
 TObject*
 AliMUON1DMapIterator::Next()
 {
-  ///  
+  /// Return next object in iteration
 
   Long_t key, value;
   Bool_t ok = fIter.Next(key,value);
   if (!ok) return 0x0;
-  Int_t i = (Int_t)(key & 0xFFFF);
-  TObject* o = reinterpret_cast<TObject*>(value);
-  
-  return new AliMUONObjectPair(new AliMpIntPair(i,0),o,
-                               kTRUE, /* owner of intpair */
-                               kFALSE /* but not of o */);
+  return reinterpret_cast<TObject*>(value);
 }
 
 //_____________________________________________________________________________
@@ -73,12 +107,3 @@ AliMUON1DMapIterator::Reset()
   /// rewind the iterator
   fIter.Reset();
 }
-
-//_____________________________________________________________________________
-Bool_t
-AliMUON1DMapIterator::Remove()
-{
-  /// to be implemented if needed
-  AliInfo("Not supported yet");
-  return kFALSE;
-}