1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
7 /// \class AliMUON2DMap
8 /// \brief Basic implementation of AliMUONV2DStore container using
9 /// AliMpExMap internally.
11 // Author Laurent Aphecetche
13 #ifndef AliMUON2DMAP_H
14 #define AliMUON2DMAP_H
16 #include "AliMUONV2DStore.h"
20 class AliMUON2DMap : public AliMUONV2DStore
23 AliMUON2DMap(Bool_t optimizeForDEManu=kFALSE);
24 virtual ~AliMUON2DMap();
26 AliMUONV2DStore* CloneEmpty() const;
28 /// The returned iterator is owned by the client.
29 AliMUONVDataIterator* Iterator() const;
31 virtual TObject* Get(Int_t i, Int_t j) const;
32 virtual Bool_t Set(Int_t i, Int_t j, TObject* object, Bool_t replace);
33 /// Whether or not this container is the owner of its contents.
34 virtual Bool_t IsOwner() const { return kTRUE; }
36 virtual void Print(Option_t* opt="") const;
38 AliMUON2DMap(const AliMUON2DMap& other);
39 AliMUON2DMap& operator = (const AliMUON2DMap& other);
42 void CopyTo(AliMUON2DMap& destination) const;
45 AliMpExMap* fMap; ///< Our internal map (an AliMpExMap of AliMpExMaps)
46 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.
48 ClassDef(AliMUON2DMap,2) // A 2D container