Changed the interface to AliMUONVStore one (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUON1DArray.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 calib
7 /// \class AliMUON1DArray
8 /// \brief Implementation of AliMUONVStore
9 /// 
10 //  Author Laurent Aphecetche
11
12 #ifndef ALIMUON1DARRAY_H
13 #define ALIMUON1DARRAY_H
14
15 #ifndef ALIMUONVSTORE_H
16 #  include "AliMUONVStore.h"
17 #endif
18
19 class TObjArray;
20
21 class AliMUON1DArray : public AliMUONVStore
22 {
23 public:
24   AliMUON1DArray(Int_t theSize=0);
25   AliMUON1DArray(const AliMUON1DArray& other);
26   AliMUON1DArray& operator=(const AliMUON1DArray& other);
27   
28   virtual ~AliMUON1DArray();
29   
30   virtual AliMUON1DArray* Create() const;
31   
32   /// Add an object. Object must have a valid UniqueID, which is
33   /// used as the index of the array.
34   virtual Bool_t Add(TObject* object);
35
36   virtual Bool_t CanConnect() const { return kFALSE; }
37   
38   virtual void Clear(Option_t* opt="");
39
40   virtual TIterator* CreateIterator() const;
41   
42   using AliMUONVStore::FindObject;
43   
44   /// Return the object stored with id.
45   virtual TObject* FindObject(UInt_t identifier) const;
46     
47   using AliMUONVStore::GetSize;
48   
49   virtual Int_t GetSize() const;
50   
51 private:
52    void CopyTo(AliMUON1DArray& to) const;
53   Bool_t Set(Int_t i, TObject* object, Bool_t replace);
54   
55 private:  
56     
57     TObjArray* fArray; ///< Internal array
58   
59     ClassDef(AliMUON1DArray,1) // Implementation of AliMUONVStore
60 };
61
62 #endif