1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
7 /// \class AliMUONGeometryStore
8 /// \brief Array of objects sorted using the AliMUONVGeometryDEIndexing class
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.
14 /// \author Ivana Hrivnacova, IPN Orsay
16 #ifndef ALI_MUON_GEOMETRY_STORE_H
17 #define ALI_MUON_GEOMETRY_STORE_H
20 #include <TObjArray.h>
22 class AliMUONGeometryStore : public TObject
25 AliMUONGeometryStore(Bool_t isOwner);
26 AliMUONGeometryStore();
27 virtual ~AliMUONGeometryStore();
30 static Int_t GetModuleId(Int_t detElemId);
33 void Add(Int_t objectId, TObject* object);
36 TObject* Get(Int_t objectId, Bool_t warn = true) const;
38 // methods for looping
39 Int_t GetNofEntries() const;
40 TObject* GetEntry(Int_t index) const;
43 AliMUONGeometryStore(const AliMUONGeometryStore& rhs);
44 AliMUONGeometryStore& operator = (const AliMUONGeometryStore& rhs);
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
52 Int_t GetDEIndex(Int_t detElemId) const;
55 TObjArray fObjects; ///< The array of detection elements
57 ClassDef(AliMUONGeometryStore,1) // MUON geometry store
60 #endif //ALI_MUON_GEOMETRY_STORE_H