]>
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 | ||
be0c6f1f | 6 | /// \ingroup calib |
f6e5d0e9 | 7 | /// \class AliMUON2DMap |
4178b5c7 | 8 | /// \brief Basic implementation of AliMUONVStore container using |
e5cc543e | 9 | /// AliMpExMap internally. |
f6e5d0e9 | 10 | /// |
5398f946 | 11 | // Author Laurent Aphecetche |
f6e5d0e9 | 12 | |
13 | #ifndef AliMUON2DMAP_H | |
14 | #define AliMUON2DMAP_H | |
15 | ||
4178b5c7 | 16 | #include "AliMUONVStore.h" |
f6e5d0e9 | 17 | |
18 | class AliMpExMap; | |
19 | ||
4178b5c7 | 20 | class AliMUON2DMap : public AliMUONVStore |
f6e5d0e9 | 21 | { |
22 | public: | |
d91c6144 | 23 | AliMUON2DMap(Bool_t optimizeForDEManu=kFALSE); |
4178b5c7 | 24 | AliMUON2DMap(const AliMUON2DMap& other); |
25 | AliMUON2DMap& operator = (const AliMUON2DMap& other); | |
f6e5d0e9 | 26 | virtual ~AliMUON2DMap(); |
27 | ||
4178b5c7 | 28 | virtual Bool_t Add(TObject* object); |
29 | ||
30 | /// Mandatory methods from TCollection | |
31 | virtual void Clear(Option_t* opt=""); | |
32 | ||
33 | /// Whether the Connect(TTree&) method is implemented | |
34 | virtual Bool_t CanConnect() const { return kFALSE; } | |
35 | ||
36 | virtual AliMUONVStore* Create() const; | |
d91c6144 | 37 | |
f246123b | 38 | /// The returned iterator is owned by the client. |
4178b5c7 | 39 | virtual TIterator* CreateIterator() const; |
40 | ||
41 | /// Iterate on part of the store (only for (i,j) where firstI<=i<=lastI | |
42 | TIterator* CreateIterator(Int_t firstI, Int_t lastI) const; | |
43 | ||
44 | using AliMUONVStore::FindObject; | |
f246123b | 45 | |
4178b5c7 | 46 | virtual TObject* FindObject(Int_t i, Int_t j) const; |
f6e5d0e9 | 47 | |
4178b5c7 | 48 | /// Whether our internal storage is optimize to store (detection element id, manu id) |
49 | Bool_t IsOptimizedForDEManu() const { return fOptimizeForDEManu; } | |
50 | ||
51 | virtual Int_t GetSize() const; | |
52 | ||
53 | virtual Int_t GetSize(Int_t i) const; | |
9d5f6a64 | 54 | |
55 | private: | |
f246123b | 56 | void CopyTo(AliMUON2DMap& destination) const; |
4178b5c7 | 57 | Bool_t Set(Int_t i, Int_t j, TObject* object, Bool_t replace); |
f246123b | 58 | |
f6e5d0e9 | 59 | private: |
18b6b8c7 | 60 | AliMpExMap* fMap; ///< Our internal map (an AliMpExMap of AliMpExMaps) |
d91c6144 | 61 | 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 | 62 | |
d91c6144 | 63 | ClassDef(AliMUON2DMap,2) // A 2D container |
f6e5d0e9 | 64 | }; |
65 | ||
66 | #endif |