1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpDDLStore.h,v 1.6 2006/05/24 13:58:16 ivana Exp $
7 /// \ingroup management
8 /// \class AliMpDDLStore
9 /// \brief The top container class for DDLs, det elements and bus patched
11 /// It provides acces to DDL, det element and bus patches objects
12 /// via various characteristics.
14 /// \author Ivana Hrivnacova, IPN Orsay;
15 /// Christian Finck, SUBATECH Nantes
17 #ifndef ALI_MP_DDL_STORE_H
18 #define ALI_MP_DDL_STORE_H
21 #include <TObjArray.h>
23 #include "AliMpExMap.h"
24 #include "AliMpIntPair.h"
27 class AliMpDetElement;
31 class AliMpDDLStore : public TObject {
34 AliMpDDLStore(TRootIOCtor* /*ioCtor*/);
35 virtual ~AliMpDDLStore();
37 // static access method
38 static AliMpDDLStore* Instance();
41 AliMpDDL* GetDDL(Int_t ddlId, Bool_t warn = true) const;
42 AliMpDetElement* GetDetElement(Int_t detElemId, Bool_t warn = true) const;
43 AliMpBusPatch* GetBusPatch(Int_t busPatchId, Bool_t warn = true) const;
45 Int_t GetDEfromBus(Int_t busPatchId) const;
46 Int_t GetDDLfromBus(Int_t busPatchId) const;
47 //void GetDspInfo(Int_t iDDL, Int_t& iDspMax, Int_t* iBusPerDSP) const;
49 AliMpIntPair GetDetElemIdManu(Int_t manuSerial) const;
53 AliMpDDLStore(const AliMpDDLStore& rhs);
54 AliMpDDLStore& operator=(const AliMpDDLStore& rhs);
59 // static data members
60 static AliMpDDLStore* fgInstance; ///< Singleton instance
61 static const Int_t fgkNofDDLs; ///< Total number of DDLs
64 TObjArray fDDLs; ///< Array of DDL objects
65 AliMpDEStore* fDetElements; ///< Detection element store
66 AliMpExMap fBusPatches; ///< The map of bus patches per their IDs
68 ClassDef(AliMpDDLStore,1) // The manager class for definition of detection element types
71 #endif //ALI_MP_DDL_STORE_H