]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUON2DMap.h
Updated list of MUON libraries
[u/mrichter/AliRoot.git] / MUON / AliMUON2DMap.h
index a8b657ee5744d1841ce5986f633dc3905900aa31..f1c6db4eb9d833bebcd533b8e0814403c8341f3a 100644 (file)
@@ -3,7 +3,7 @@
 
 // $Id$
 
-/// \ingroup base
+/// \ingroup calib
 /// \class AliMUON2DMap
 /// \brief Basic implementation of AliMUONV2DStore container using
 /// AliMpExMap internally.
@@ -20,9 +20,11 @@ class AliMpExMap;
 class AliMUON2DMap : public AliMUONV2DStore
 {
 public:
-  AliMUON2DMap();  
+  AliMUON2DMap(Bool_t optimizeForDEManu=kFALSE);  
   virtual ~AliMUON2DMap();
 
+  AliMUONV2DStore* CloneEmpty() const;
+  
   /// The returned iterator is owned by the client.
   AliMUONVDataIterator* Iterator() const;
   
@@ -31,19 +33,22 @@ public:
   /// Whether or not this container is the owner of its contents.
   virtual Bool_t IsOwner() const { return kTRUE; } 
 
-  virtual void Print(Option_t* opt="") const;
-
-protected:
   AliMUON2DMap(const AliMUON2DMap& other);
   AliMUON2DMap&  operator = (const AliMUON2DMap& other);
 
+  /// 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;
 
 private:
   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.
   
-  ClassDef(AliMUON2DMap,1) // A 2D container
+  ClassDef(AliMUON2DMap,2) // A 2D container
 };
 
 #endif