ATLAS Offline Software
Loading...
Searching...
No Matches
DetDescrCnvSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 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,
23 const std::vector<CLID>& bases = {}) const;
24
26 virtual StatusCode createAddress(long svc_type, const CLID &clid,
27 const std::string *par,
28 const unsigned long *ip,
29 IOpaqueAddress *&refpAddress);
30
32 virtual StatusCode createAddress(long svc_type, const CLID &clid,
33 const std::string &refAddress,
34 IOpaqueAddress *&refpAddress);
35
37 virtual StatusCode convertAddress(const IOpaqueAddress *pAddress,
38 std::string &refAddress);
39
42
43 DetDescrCnvSvc(const std::string &name, ISvcLocator *svc);
44
46 virtual ~DetDescrCnvSvc();
47
48 private:
49 StatusCode fillTDSRefs();
50
52
54 StringArrayProperty m_detMgrs{this, "DetectorManagers", {}};
55 StringArrayProperty m_detNodes{this, "DetectorNodes", {}};
56 BooleanProperty m_decodeIdDict{this, "DecodeIdDict", true};
57 BooleanProperty m_idDictFromRDB{this, "IdDictFromRDB", false};
58 StringProperty m_idDictName{this, "IdDictName", ""};
59 StringProperty m_idDictGlobalTag{this, "IdDictGlobalTag", ""};
60 StringProperty m_idDictATLASName{this, "AtlasIDFileName", ""};
61 StringProperty m_idDictInDetName{this, "InDetIDFileName", ""};
62 StringProperty m_idDictLArName{this, "LArIDFileName", ""};
63 StringProperty m_idDictTileName{this, "TileIDFileName", ""};
64 StringProperty m_idDictLVL1Name{this, "CaloIDFileName", ""};
65 StringProperty m_idDictMuonName{this, "MuonIDFileName", ""};
66 StringProperty m_idDictLArHighVoltageName{this, "HighVoltageIDFileName",
67 ""};
68 StringProperty m_idDictLArElectrodeName{this, "LArElectrodeIDFileName", ""};
69 StringProperty m_idDictForwardName{this, "ForwardIDFileName", ""};
70 StringProperty m_fcal2dNeighborsName{this, "FCAL2DNeighborsFileName", ""};
71 StringProperty m_fcal3dNeighborsNextName{this,
72 "FCAL3DNeighborsNextFileName", ""};
73 StringProperty m_fcal3dNeighborsPrevName{this,
74 "FCAL3DNeighborsPrevFileName", ""};
75 StringProperty m_tileNeighborsName{this, "TileNeighborsFileName", ""};
76 StringProperty m_fullAtlasNeighborsName{this, "FullAtlasNeighborsFileName",
77 ""};
78
79 BooleanProperty m_fromRoot{this, "ReadFromROOT", false};
80 BooleanProperty m_fromNova{this, "ReadFromNova", false};
81 BooleanProperty m_detElemsfromDetNodes{this, "InitDetElemsFromGeoModel",
82 false};
83 BooleanProperty m_compact_ids_only{this, "CompactIDsOnly", false};
84 BooleanProperty m_do_checks{this, "DoIdChecks", false};
85 BooleanProperty m_do_neighbours{this, "DoInitNeighbours", true};
86
88 BooleanProperty m_hasTRT{this, "HasTRT", false};
89
91
92 BooleanProperty m_hasCSC{this, "HasCSC", false};
93 BooleanProperty m_hasSTGC{this, "HasSTgc", false};
94 BooleanProperty m_hasMM{this, "HasMM", false};
95 BooleanProperty m_hasMDT{this, "HasMDT", true};
96 BooleanProperty m_hasRPC{this, "HasRPC", true};
97 BooleanProperty m_hasTGC{this, "HasTGC", true};
98
99 BooleanProperty m_useGeomDB_InDet{this, "useGeomDB_InDet", false};
100
101 inline MsgStream &msg(MSG::Level lvl) const { return msgStream(lvl); }
102};
103#endif
uint32_t CLID
The Class ID type.
BooleanProperty m_hasTGC
BooleanProperty m_idDictFromRDB
StringArrayProperty m_detNodes
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
virtual StatusCode addToDetStore(const CLID &clid, const std::string &name, const std::vector< CLID > &bases={}) const
Add new address to the Detector Store.
StringProperty m_fcal2dNeighborsName
BooleanProperty m_hasTRT
Switch on/off the TRT.
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.