]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpDDLStore.h
Commenting out the infamous speed eater = StdoutToAliDebug until a better solution...
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpDDLStore.h
CommitLineData
f0c62051 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
4// $Id$
5// $MpId: AliMpDDLStore.h,v 1.6 2006/05/24 13:58:16 ivana Exp $
6
7/// \ingroup management
8/// \class AliMpDDLStore
9/// \brief The top container class for DDLs, det elements and bus patched
10///
11/// It provides acces to DDL, det element and bus patches objects
12/// via various characteristics.
13///
14/// \author Ivana Hrivnacova, IPN Orsay;
15/// Christian Finck, SUBATECH Nantes
16
17#ifndef ALI_MP_DDL_STORE_H
18#define ALI_MP_DDL_STORE_H
19
20#include <TObject.h>
21#include <TObjArray.h>
42d368d0 22#include <TArrayI.h>
f0c62051 23
24#include "AliMpExMap.h"
25#include "AliMpIntPair.h"
26
27class AliMpDDL;
28class AliMpDetElement;
29class AliMpBusPatch;
30class AliMpDEStore;
42d368d0 31class TArrayI;
f0c62051 32
33class AliMpDDLStore : public TObject {
34
35 public:
36 AliMpDDLStore(TRootIOCtor* /*ioCtor*/);
37 virtual ~AliMpDDLStore();
38
39 // static access method
40 static AliMpDDLStore* Instance();
41
42 // methods
43 AliMpDDL* GetDDL(Int_t ddlId, Bool_t warn = true) const;
44 AliMpDetElement* GetDetElement(Int_t detElemId, Bool_t warn = true) const;
45 AliMpBusPatch* GetBusPatch(Int_t busPatchId, Bool_t warn = true) const;
46
47 Int_t GetDEfromBus(Int_t busPatchId) const;
48 Int_t GetDDLfromBus(Int_t busPatchId) const;
42d368d0 49 Int_t GetBusPatchId(Int_t detElemId, Int_t manuId) const;
f0c62051 50
51 AliMpIntPair GetDetElemIdManu(Int_t manuSerial) const;
52
92faf71f 53 void PrintAllManu() const;
54
f0c62051 55 private:
56 AliMpDDLStore();
57 AliMpDDLStore(const AliMpDDLStore& rhs);
58 AliMpDDLStore& operator=(const AliMpDDLStore& rhs);
59
60 // methods
42d368d0 61 Int_t GetManuListIndex(Int_t detElemId) const;
62 Int_t GetBusPatchIndex(Int_t detElemId, Int_t manuId) const;
f0c62051 63 Bool_t ReadDDLs();
42d368d0 64 Bool_t SetManus();
f0c62051 65
66 // static data members
67 static AliMpDDLStore* fgInstance; ///< Singleton instance
68 static const Int_t fgkNofDDLs; ///< Total number of DDLs
69
70 // data members
42d368d0 71 TObjArray fDDLs; ///< Array of DDL objects
72 AliMpDEStore* fDetElements; ///< Detection element store
73 AliMpExMap fBusPatches; ///< The map of bus patches per their IDs
74 TArrayI fManuList12[16]; ///< Arrays of 1st manu in bus
75
f0c62051 76 ClassDef(AliMpDDLStore,1) // The manager class for definition of detection element types
77};
78
79#endif //ALI_MP_DDL_STORE_H
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94