]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONGeometryStore.h
Added a commented out version with new digitizers.
[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
45     // operators  
46     AliMUONGeometryStore& operator = (const AliMUONGeometryStore& rhs);
47   
48   private:
49     // static data members
50     static const Int_t fgkInitSize;    // Initial size of array of objects
51     static const Int_t fgkCoefficient; // Coefficient used in DE Id <-> Module Id
52
53     // methods
54     Int_t GetDEIndex(Int_t detElemId) const;
55
56     // data members
57     TObjArray  fObjects; // The array of detection elements
58
59   ClassDef(AliMUONGeometryStore,1) // MUON geometry store
60 };
61
62 #endif //ALI_MUON_GEOMETRY_STORE_H