]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONGeometryStore.h
Go on with new segmentation (Ch. Finck)
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometryStore.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 // Class AliMUONGeometryStore
7 // --------------------------
8 // The class contains the array of the detection elements,
9 // which are sorted using the AliMUONVGeometryDEIndexing class.
10 // The class provides fast access to detection element via detElemId.
11 //
12 // Author: Ivana Hrivnacova, IPN Orsay
13
14 #ifndef ALI_MUON_GEOMETRY_STORE_H
15 #define ALI_MUON_GEOMETRY_STORE_H
16
17 #include <TObject.h>
18 #include <TObjArray.h>
19
20 class AliMUONVGeometryDEIndexing;
21
22 class AliMUONGeometryStore : public TObject
23 {
24   public:
25     AliMUONGeometryStore(AliMUONVGeometryDEIndexing* indexing,
26                          Bool_t isOwner = true);
27     AliMUONGeometryStore();
28     virtual ~AliMUONGeometryStore();
29
30     // methods
31     void Add(Int_t objectId, TObject* object);  
32
33     // get methods
34     TObject* Get(Int_t objectId, Bool_t warn = true) const;
35
36     // methods for looping
37     Int_t     GetNofEntries() const;
38     TObject*  GetEntry(Int_t index) const;
39
40   protected:
41     AliMUONGeometryStore(const AliMUONGeometryStore& rhs);
42
43     // operators  
44     AliMUONGeometryStore& operator = (const AliMUONGeometryStore& rhs);
45   
46   private:
47     // static data members
48     static const Int_t fgkInitSize; // Initial size of array of objects
49
50     // data members
51     TObjArray                   fObjects;// The array of detection elements
52     AliMUONVGeometryDEIndexing* fDEIndexing; // The DE indexing definitions
53
54   ClassDef(AliMUONGeometryStore,1) // MUON geometry store
55 };
56
57 #endif //ALI_MUON_GEOMETRY_STORE_H