]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUON2DMap.h
Updated list of MUON libraries
[u/mrichter/AliRoot.git] / MUON / AliMUON2DMap.h
CommitLineData
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
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
18class AliMpExMap;
19
20class AliMUON2DMap : public AliMUONV2DStore
21{
22public:
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 44private:
f246123b 45 void CopyTo(AliMUON2DMap& destination) const;
46
f6e5d0e9 47private:
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