New storage class and its iterator (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUON1DMap.h
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 AliMUON1DMap
8 /// \brief Implementation of AliMUONV1DStore
9 /// 
10 //  Author Laurent Aphecetche
11
12 #ifndef ALIMUON1DMAP_H
13 #define ALIMUON1DMAP_H
14
15 #ifndef ALIMUONV1DSTORE_H
16 #  include "AliMUONV1DStore.h"
17 #endif
18
19 class AliMpExMap;
20
21 class AliMUON1DMap : public AliMUONV1DStore
22 {
23 public:
24   AliMUON1DMap(Int_t theSize=0);
25   AliMUON1DMap(const AliMUON1DMap& other);
26   AliMUON1DMap& operator=(const AliMUON1DMap& other);
27   
28   virtual ~AliMUON1DMap();
29   
30   /// Return the object stored at i.
31   virtual TObject* Get(Int_t i) const;
32   
33   virtual AliMUONVDataIterator* Iterator() const;
34   
35   /** Set the object stored at i.
36     if replace=false and there's already an object there, returns kFALSE
37     */
38   virtual Bool_t Set(Int_t i, TObject* object, Bool_t replace);
39   
40   /// Whether or not this container is the owner of its contents.
41   virtual Bool_t IsOwner() const { return kTRUE; }
42   
43 private:
44    void CopyTo(AliMUON1DMap& to) const;
45   
46 private:  
47     
48     AliMpExMap* fMap; ///< Internal array (map)
49   
50     ClassDef(AliMUON1DMap,1) // Implementation of AliMUONV1DStore
51 };
52
53 #endif