]>
Commit | Line | Data |
---|---|---|
e118b27e | 1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3 | ||
4 | // $Id$ | |
692de412 | 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 | |
e118b27e | 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 | ||
e118b27e | 22 | class AliMUONGeometryStore : public TObject |
23 | { | |
24 | public: | |
46829bae | 25 | AliMUONGeometryStore(Bool_t isOwner); |
e118b27e | 26 | AliMUONGeometryStore(); |
27 | virtual ~AliMUONGeometryStore(); | |
28 | ||
984150e9 | 29 | // static method |
30 | static Int_t GetModuleId(Int_t detElemId); | |
31 | ||
e118b27e | 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 | |
829425a5 | 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 | |
984150e9 | 52 | |
53 | // methods | |
54 | Int_t GetDEIndex(Int_t detElemId) const; | |
e118b27e | 55 | |
56 | // data members | |
829425a5 | 57 | TObjArray fObjects; ///< The array of detection elements |
e118b27e | 58 | |
59 | ClassDef(AliMUONGeometryStore,1) // MUON geometry store | |
60 | }; | |
61 | ||
62 | #endif //ALI_MUON_GEOMETRY_STORE_H |