]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUON2DMap.h
Fixing local structure disabled word, which had an incorrect value.
[u/mrichter/AliRoot.git] / MUON / AliMUON2DMap.h
index f1c6db4eb9d833bebcd533b8e0814403c8341f3a..bf7376214069d522481f6d6992555eaa8a2462e5 100644 (file)
@@ -3,48 +3,66 @@
 
 // $Id$
 
-/// \ingroup calib
+/// \ingroup core
 /// \class AliMUON2DMap
-/// \brief Basic implementation of AliMUONV2DStore container using
+/// \brief Basic implementation of AliMUONVStore container using
 /// AliMpExMap internally.
 ///
 //  Author Laurent Aphecetche
 
-#ifndef AliMUON2DMAP_H
-#define AliMUON2DMAP_H
+#ifndef ALIMUON2DMAP_H
+#define ALIMUON2DMAP_H
 
-#include "AliMUONV2DStore.h"
+#include "AliMUONVStore.h"
 
 class AliMpExMap;
 
-class AliMUON2DMap : public AliMUONV2DStore
+class AliMUON2DMap : public AliMUONVStore
 {
 public:
-  AliMUON2DMap(Bool_t optimizeForDEManu=kFALSE);  
+  AliMUON2DMap(TRootIOCtor* ioCtor);
+  AliMUON2DMap(Bool_t optimizeForDEManu);  
+  AliMUON2DMap(const AliMUON2DMap& other);
+  AliMUON2DMap&  operator = (const AliMUON2DMap& other);
   virtual ~AliMUON2DMap();
 
-  AliMUONV2DStore* CloneEmpty() const;
+  virtual Bool_t Add(TObject* object);
+  
+  /// Mandatory methods from TCollection
+  virtual void Clear(Option_t* opt="");
+  
+  /// Whether the Connect(TTree&) method is implemented
+  virtual Bool_t CanConnect() const { return kFALSE; }
+  
+  virtual AliMUONVStore* Create() const;
   
   /// The returned iterator is owned by the client.
-  AliMUONVDataIterator* Iterator() const;
+  virtual TIterator* CreateIterator() const;
+
+  /// Iterate on part of the store (only for (i,j) where firstI<=i<=lastI
+  TIterator* CreateIterator(Int_t firstI, Int_t lastI) const;
+
+  using AliMUONVStore::FindObject;
   
-  virtual TObject* Get(Int_t i, Int_t j) const;
-  virtual Bool_t Set(Int_t i, Int_t j, TObject* object, Bool_t replace);
-  /// Whether or not this container is the owner of its contents.
-  virtual Bool_t IsOwner() const { return kTRUE; } 
+  virtual TObject* FindObject(Int_t i, Int_t j) const;
 
-  AliMUON2DMap(const AliMUON2DMap& other);
-  AliMUON2DMap&  operator = (const AliMUON2DMap& other);
+  virtual TObject* FindObject(UInt_t uid) const;
 
-  /// Build a complete (i.e. all detElemId,manuId couple will be there) store
-  /// but with identical values, given by object 
-  /// The returned store will be obviously optimized for DEManu.
-  static AliMUONV2DStore* Generate(const TObject& object);
-    
-private:
-  void CopyTo(AliMUON2DMap& destination) const;
+  /// Whether our internal storage is optimize to store (detection element id, manu id)  
+  Bool_t IsOptimizedForDEManu() const { return fOptimizeForDEManu; }
+  
+  virtual Int_t GetSize() const;
+
+  virtual Int_t GetSize(Int_t i) const;
 
 private:
+  /// Not implemented
+  AliMUON2DMap();
+
+  Bool_t Set(Int_t i, Int_t j, TObject* object, Bool_t replace);
+
+  static const Int_t fgkOptimalSizeForDEManu; ///< Optimal size for DEManu
+
   AliMpExMap* fMap; ///< Our internal map (an AliMpExMap of AliMpExMaps)
   Bool_t fOptimizeForDEManu; ///< whether (i,j) pair is supposed to be (DetElemId,ManuId) (allow us to allocate right amount of memory, that's all it does.