]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONGeometryStore.h
New versions of GDC and CDH raw data headers. Some CDH getters are added
[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 /// \ingroup geometry
7 /// \class AliMUONGeometryStore
8 /// \brief Array of objects sorted using the AliMUONVGeometryDEIndexing class
9 ///
10 /// The class contains the array of objects (derived from TObject),
11 /// which are sorted using the AliMUONVGeometryDEIndexing class.
12 /// The class provides fast access to detection element via detElemId.
13 ///
14 /// \author Ivana Hrivnacova, IPN Orsay
15
16 #ifndef ALI_MUON_GEOMETRY_STORE_H
17 #define ALI_MUON_GEOMETRY_STORE_H
18
19 #include <TObject.h>
20 #include <TObjArray.h>
21
22 class AliMUONGeometryStore : public TObject
23 {
24   public:
25     AliMUONGeometryStore(Bool_t isOwner);
26     AliMUONGeometryStore();
27     virtual ~AliMUONGeometryStore();
28
29     // static method
30     static  Int_t GetModuleId(Int_t detElemId);
31
32     // methods
33     void Add(Int_t objectId, TObject* object);  
34
35     // get methods
36     TObject* Get(Int_t objectId, Bool_t warn = true) const;
37
38     // methods for looping
39     Int_t     GetNofEntries() const;
40     TObject*  GetEntry(Int_t index) const;
41
42   protected:
43     AliMUONGeometryStore(const AliMUONGeometryStore& rhs);
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     static const Int_t fgkCoefficient; ///< Coefficient used in DE Id <-> Module Id
50
51     // methods
52     Int_t GetDEIndex(Int_t detElemId) const;
53
54     // data members
55     TObjArray  fObjects; ///< The array of detection elements
56
57   ClassDef(AliMUONGeometryStore,1) // MUON geometry store
58 };
59
60 #endif //ALI_MUON_GEOMETRY_STORE_H