ATLAS Offline Software
Loading...
Searching...
No Matches
DetDescrCnvSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef DETDESCRCNVSVC_DETDESCRCNVSVC_H
6#define DETDESCRCNVSVC_DETDESCRCNVSVC_H
7
8#include "GaudiKernel/ConversionSvc.h"
9
10// Forward declarations
11class IOpaqueAddress;
12class StoreGateSvc;
13
14class DetDescrCnvSvc : public ConversionSvc {
15
16 public:
18 virtual StatusCode initialize();
19
21 virtual StatusCode addToDetStore(const CLID &clid,
22 const std::string &name) const;
23
25 virtual StatusCode createAddress(long svc_type, const CLID &clid,
26 const std::string *par,
27 const unsigned long *ip,
28 IOpaqueAddress *&refpAddress);
29
31 virtual StatusCode createAddress(long svc_type, const CLID &clid,
32 const std::string &refAddress,
33 IOpaqueAddress *&refpAddress);
34
36 virtual StatusCode convertAddress(const IOpaqueAddress *pAddress,
37 std::string &refAddress);
38
41
42 DetDescrCnvSvc(const std::string &name, ISvcLocator *svc);
43
45 virtual ~DetDescrCnvSvc();
46
47 private:
48 StatusCode fillTDSRefs();
49
51
53 StringArrayProperty m_detMgrs{this, "DetectorManagers", {}};
54 StringArrayProperty m_detNodes{this, "DetectorNodes", {}};
55 BooleanProperty m_decodeIdDict{this, "DecodeIdDict", true};
56 BooleanProperty m_idDictFromRDB{this, "IdDictFromRDB", false};
57 StringProperty m_idDictName{this, "IdDictName", ""};
58 StringProperty m_idDictGlobalTag{this, "IdDictGlobalTag", ""};
59 StringProperty m_idDictATLASName{this, "AtlasIDFileName", ""};
60 StringProperty m_idDictInDetName{this, "InDetIDFileName", ""};
61 StringProperty m_idDictLArName{this, "LArIDFileName", ""};
62 StringProperty m_idDictTileName{this, "TileIDFileName", ""};
63 StringProperty m_idDictLVL1Name{this, "CaloIDFileName", ""};
64 StringProperty m_idDictMuonName{this, "MuonIDFileName", ""};
65 StringProperty m_idDictLArHighVoltageName{this, "HighVoltageIDFileName",
66 ""};
67 StringProperty m_idDictLArElectrodeName{this, "LArElectrodeIDFileName", ""};
68 StringProperty m_idDictForwardName{this, "ForwardIDFileName", ""};
69 StringProperty m_fcal2dNeighborsName{this, "FCAL2DNeighborsFileName", ""};
70 StringProperty m_fcal3dNeighborsNextName{this,
71 "FCAL3DNeighborsNextFileName", ""};
72 StringProperty m_fcal3dNeighborsPrevName{this,
73 "FCAL3DNeighborsPrevFileName", ""};
74 StringProperty m_tileNeighborsName{this, "TileNeighborsFileName", ""};
75 StringProperty m_fullAtlasNeighborsName{this, "FullAtlasNeighborsFileName",
76 ""};
77
78 BooleanProperty m_fromRoot{this, "ReadFromROOT", false};
79 BooleanProperty m_fromNova{this, "ReadFromNova", false};
80 BooleanProperty m_detElemsfromDetNodes{this, "InitDetElemsFromGeoModel",
81 false};
82 BooleanProperty m_compact_ids_only{this, "CompactIDsOnly", false};
83 BooleanProperty m_do_checks{this, "DoIdChecks", false};
84 BooleanProperty m_do_neighbours{this, "DoInitNeighbours", true};
85
87
88 BooleanProperty m_hasCSC{this, "HasCSC", false};
89 BooleanProperty m_hasSTGC{this, "HasSTgc", false};
90 BooleanProperty m_hasMM{this, "HasMM", false};
91 BooleanProperty m_hasMDT{this, "HasMDT", true};
92 BooleanProperty m_hasRPC{this, "HasRPC", true};
93 BooleanProperty m_hasTGC{this, "HasTGC", true};
94
95 BooleanProperty m_useGeomDB_InDet{this, "useGeomDB_InDet", false};
96
97 inline MsgStream &msg(MSG::Level lvl) const { return msgStream(lvl); }
98};
99#endif
uint32_t CLID
The Class ID type.
BooleanProperty m_hasTGC
BooleanProperty m_idDictFromRDB
StringArrayProperty m_detNodes
virtual StatusCode addToDetStore(const CLID &clid, const std::string &name) const
Add new address to the Detector Store.
BooleanProperty m_hasMM
BooleanProperty m_hasRPC
StringProperty m_idDictForwardName
StringProperty m_idDictName
StringProperty m_fcal3dNeighborsPrevName
ServiceHandle< StoreGateSvc > m_detStore
StringProperty m_idDictLVL1Name
BooleanProperty m_hasMDT
StringProperty m_tileNeighborsName
BooleanProperty m_hasCSC
Switch on/off the muon detectors.
virtual StatusCode initialize()
Initialize the service.
StringProperty m_idDictLArHighVoltageName
BooleanProperty m_fromRoot
BooleanProperty m_do_checks
virtual StatusCode createAddress(long svc_type, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress)
Basic create address.
DetDescrCnvSvc(const std::string &name, ISvcLocator *svc)
Standard Constructor.
StringProperty m_idDictTileName
StringProperty m_idDictMuonName
BooleanProperty m_fromNova
StringArrayProperty m_detMgrs
StringProperty m_fullAtlasNeighborsName
BooleanProperty m_hasSTGC
StringProperty m_idDictInDetName
BooleanProperty m_detElemsfromDetNodes
virtual ~DetDescrCnvSvc()
Standard Destructor.
void initTDSItems()
StringProperty m_idDictATLASName
BooleanProperty m_decodeIdDict
StringProperty m_fcal2dNeighborsName
StringProperty m_idDictLArElectrodeName
BooleanProperty m_compact_ids_only
BooleanProperty m_do_neighbours
BooleanProperty m_useGeomDB_InDet
StatusCode fillTDSRefs()
StringProperty m_idDictGlobalTag
MsgStream & msg(MSG::Level lvl) const
StringProperty m_fcal3dNeighborsNextName
StringProperty m_idDictLArName
virtual StatusCode convertAddress(const IOpaqueAddress *pAddress, std::string &refAddress)
Convert address to string form.
The Athena Transient Store API.