]>
Commit | Line | Data |
---|---|---|
f6e5d0e9 | 1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3 | ||
4 | // $Id$ | |
5 | ||
6 | /// \ingroup base | |
7 | /// \class AliMUON2DMap | |
8 | /// \brief Basic implementation of AliMUONV2DStore container using | |
e5cc543e | 9 | /// AliMpExMap internally. |
f6e5d0e9 | 10 | /// |
5398f946 | 11 | // Author Laurent Aphecetche |
f6e5d0e9 | 12 | |
13 | #ifndef AliMUON2DMAP_H | |
14 | #define AliMUON2DMAP_H | |
15 | ||
16 | #include "AliMUONV2DStore.h" | |
17 | ||
18 | class AliMpExMap; | |
19 | ||
20 | class AliMUON2DMap : public AliMUONV2DStore | |
21 | { | |
22 | public: | |
d91c6144 | 23 | AliMUON2DMap(Bool_t optimizeForDEManu=kFALSE); |
f6e5d0e9 | 24 | virtual ~AliMUON2DMap(); |
25 | ||
d91c6144 | 26 | AliMUONV2DStore* CloneEmpty() const; |
27 | ||
f246123b | 28 | /// The returned iterator is owned by the client. |
29 | AliMUONVDataIterator* Iterator() const; | |
30 | ||
f6e5d0e9 | 31 | virtual TObject* Get(Int_t i, Int_t j) const; |
9d5f6a64 | 32 | virtual Bool_t Set(Int_t i, Int_t j, TObject* object, Bool_t replace); |
5398f946 | 33 | /// Whether or not this container is the owner of its contents. |
34 | virtual Bool_t IsOwner() const { return kTRUE; } | |
f6e5d0e9 | 35 | |
9d5f6a64 | 36 | AliMUON2DMap(const AliMUON2DMap& other); |
37 | AliMUON2DMap& operator = (const AliMUON2DMap& other); | |
38 | ||
49f43921 | 39 | /// Build a complete (i.e. all detElemId,manuId couple will be there) store |
40 | /// but with identical values, given by object | |
41 | /// The returned store will be obviously optimized for DEManu. | |
42 | static AliMUONV2DStore* Generate(const TObject& object); | |
43 | ||
9d5f6a64 | 44 | private: |
f246123b | 45 | void CopyTo(AliMUON2DMap& destination) const; |
46 | ||
f6e5d0e9 | 47 | private: |
18b6b8c7 | 48 | AliMpExMap* fMap; ///< Our internal map (an AliMpExMap of AliMpExMaps) |
d91c6144 | 49 | 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. |
f6e5d0e9 | 50 | |
d91c6144 | 51 | ClassDef(AliMUON2DMap,2) // A 2D container |
f6e5d0e9 | 52 | }; |
53 | ||
54 | #endif |