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);
46 AliMUONGeometryStore& operator = (const AliMUONGeometryStore& rhs);
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
54 Int_t GetDEIndex(Int_t detElemId) const;
57 TObjArray fObjects; // The array of detection elements
59 ClassDef(AliMUONGeometryStore,1) // MUON geometry store
62 #endif //ALI_MUON_GEOMETRY_STORE_H