ATLAS Offline Software
Loading...
Searching...
No Matches
DetDescrCnvSvc Class Reference

#include <DetDescrCnvSvc.h>

Inheritance diagram for DetDescrCnvSvc:
Collaboration diagram for DetDescrCnvSvc:

Public Member Functions

virtual StatusCode initialize ()
 Initialize the service.
virtual StatusCode addToDetStore (const CLID &clid, const std::string &name) const
 Add new address to the Detector Store.
virtual StatusCode createAddress (long svc_type, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress)
 Basic create address.
virtual StatusCode createAddress (long svc_type, const CLID &clid, const std::string &refAddress, IOpaqueAddress *&refpAddress)
 Create address from string form.
virtual StatusCode convertAddress (const IOpaqueAddress *pAddress, std::string &refAddress)
 Convert address to string form.

: Object implementation

ServiceHandle< StoreGateSvcm_detStore
StringArrayProperty m_detMgrs {this, "DetectorManagers", {}}
StringArrayProperty m_detNodes {this, "DetectorNodes", {}}
BooleanProperty m_decodeIdDict {this, "DecodeIdDict", true}
BooleanProperty m_idDictFromRDB {this, "IdDictFromRDB", false}
StringProperty m_idDictName {this, "IdDictName", ""}
StringProperty m_idDictGlobalTag {this, "IdDictGlobalTag", ""}
StringProperty m_idDictATLASName {this, "AtlasIDFileName", ""}
StringProperty m_idDictInDetName {this, "InDetIDFileName", ""}
StringProperty m_idDictLArName {this, "LArIDFileName", ""}
StringProperty m_idDictTileName {this, "TileIDFileName", ""}
StringProperty m_idDictLVL1Name {this, "CaloIDFileName", ""}
StringProperty m_idDictMuonName {this, "MuonIDFileName", ""}
StringProperty m_idDictLArHighVoltageName
StringProperty m_idDictLArElectrodeName {this, "LArElectrodeIDFileName", ""}
StringProperty m_idDictForwardName {this, "ForwardIDFileName", ""}
StringProperty m_fcal2dNeighborsName {this, "FCAL2DNeighborsFileName", ""}
StringProperty m_fcal3dNeighborsNextName
StringProperty m_fcal3dNeighborsPrevName
StringProperty m_tileNeighborsName {this, "TileNeighborsFileName", ""}
StringProperty m_fullAtlasNeighborsName
BooleanProperty m_fromRoot {this, "ReadFromROOT", false}
BooleanProperty m_fromNova {this, "ReadFromNova", false}
BooleanProperty m_detElemsfromDetNodes
BooleanProperty m_compact_ids_only {this, "CompactIDsOnly", false}
BooleanProperty m_do_checks {this, "DoIdChecks", false}
BooleanProperty m_do_neighbours {this, "DoInitNeighbours", true}
BooleanProperty m_hasCSC {this, "HasCSC", false}
 Switch on/off the muon detectors.
BooleanProperty m_hasSTGC {this, "HasSTgc", false}
BooleanProperty m_hasMM {this, "HasMM", false}
BooleanProperty m_hasMDT {this, "HasMDT", true}
BooleanProperty m_hasRPC {this, "HasRPC", true}
BooleanProperty m_hasTGC {this, "HasTGC", true}
BooleanProperty m_useGeomDB_InDet {this, "useGeomDB_InDet", false}
 DetDescrCnvSvc (const std::string &name, ISvcLocator *svc)
 Standard Constructor.
virtual ~DetDescrCnvSvc ()
 Standard Destructor.
StatusCode fillTDSRefs ()
void initTDSItems ()
MsgStream & msg (MSG::Level lvl) const

Detailed Description

Definition at line 14 of file DetDescrCnvSvc.h.

Constructor & Destructor Documentation

◆ DetDescrCnvSvc()

DetDescrCnvSvc::DetDescrCnvSvc ( const std::string & name,
ISvcLocator * svc )

Standard Constructor.

Standard constructor.

Definition at line 25 of file DetDescrCnvSvc.cxx.

26 : ConversionSvc(name, svc, DetDescr_StorageType),
27 m_detStore("DetectorStore", name)
28 {}
const long DetDescr_StorageType
ServiceHandle< StoreGateSvc > m_detStore

◆ ~DetDescrCnvSvc()

DetDescrCnvSvc::~DetDescrCnvSvc ( )
virtualdefault

Standard Destructor.

Member Function Documentation

◆ addToDetStore()

StatusCode DetDescrCnvSvc::addToDetStore ( const CLID & clid,
const std::string & name ) const
virtual

Add new address to the Detector Store.

Definition at line 160 of file DetDescrCnvSvc.cxx.

161 {
162 // Based on input parameters, create StoreGate proxies with
163 // DetDescrAddresses in the detector store for the different
164 // detectors.
165
166 // fill in the Addresses for Transient Detector Store objects
167
168 CxxUtils::RefCountedPtr<DetDescrAddress> addr
169 (new DetDescrAddress(clid, name, name));
170 ATH_MSG_INFO(" filling address for " << (*addr->par()) << " with CLID "
171 << addr->clID() << " and storage type "
172 << addr->svcType()
173 << " to detector store ");
174 ATH_CHECK(m_detStore->recordAddress(std::move(addr)));
175 return StatusCode::SUCCESS;
176}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_INFO(x)

◆ convertAddress()

StatusCode DetDescrCnvSvc::convertAddress ( const IOpaqueAddress * pAddress,
std::string & refAddress )
virtual

Convert address to string form.

Definition at line 149 of file DetDescrCnvSvc.cxx.

150 {
151 const DetDescrAddress *addr =
152 dynamic_cast<const DetDescrAddress *>(pAddress);
153 if (!addr)
154 return StatusCode::FAILURE;
155 return addr->toString(refAddress);
156}
StatusCode toString(std::string &refString) const
write technology-specific part of address to string

◆ createAddress() [1/2]

StatusCode DetDescrCnvSvc::createAddress ( long svc_type,
const CLID & clid,
const std::string & refAddress,
IOpaqueAddress *& refpAddress )
virtual

Create address from string form.

Definition at line 123 of file DetDescrCnvSvc.cxx.

125 {
126 try {
127 refpAddress = new DetDescrAddress(clid);
128 DetDescrAddress *ddAddr;
129 ddAddr = dynamic_cast<DetDescrAddress *>(refpAddress);
130 if (!ddAddr) {
131 MsgStream log(msgSvc(), name());
132 log << MSG::FATAL << "Could not cast to DetDescrAddress." << endmsg;
133 return StatusCode::FAILURE;
134 }
135 if (ddAddr->fromString(refAddress).isFailure()) {
136 MsgStream log(msgSvc(), name());
137 log << MSG::FATAL << "Could not assign address " << refAddress
138 << endmsg;
139 return StatusCode::FAILURE;
140 }
141 } catch (...) {
142 refpAddress = 0;
143 }
144 return (refpAddress != 0) ? StatusCode::SUCCESS : StatusCode::FAILURE;
145}
#define endmsg
StatusCode fromString(const std::string &stringifiedIOA)
initialize technology-specific part of IOA from stringifiedIOA
msgSvc
Provide convenience handles for various services.
Definition StdJOSetup.py:36

◆ createAddress() [2/2]

StatusCode DetDescrCnvSvc::createAddress ( long svc_type,
const CLID & clid,
const std::string * par,
const unsigned long * ip,
IOpaqueAddress *& refpAddress )
virtual

Basic create address.

Create a Generic address using explicit arguments to identify a single object.

Definition at line 112 of file DetDescrCnvSvc.cxx.

116 {
117 refpAddress = nullptr;
118 return StatusCode::FAILURE;
119}

◆ fillTDSRefs()

StatusCode DetDescrCnvSvc::fillTDSRefs ( )
private

◆ initialize()

StatusCode DetDescrCnvSvc::initialize ( )
virtual

Initialize the service.

Definition at line 38 of file DetDescrCnvSvc.cxx.

38 {
39 ATH_CHECK(ConversionSvc::initialize());
40 ATH_MSG_INFO(" initializing ");
41
42 // get DetectorStore service
43 ATH_CHECK( m_detStore.retrieve() );
44 ATH_MSG_INFO("Found DetectorStore service");
45
46 // fill in the Addresses for Transient Detector Store objects
47 ATH_MSG_INFO(" filling proxies for detector managers ");
48
49 ATH_CHECK(addToDetStore(117659265, "CaloTTMgr"));
50 ATH_CHECK(addToDetStore(4548337, "CaloMgr"));
51 ATH_CHECK(addToDetStore(241807251, "CaloSuperCellMgr"));
52 ATH_CHECK(addToDetStore(125856940, "CaloIdManager"));
53 // IdDict:
54 ATH_CHECK(addToDetStore(2411, "IdDict"));
55
56 // IdHelpers
57 ATH_CHECK(addToDetStore(164875623, "AtlasID"));
58 ATH_CHECK(addToDetStore(2516, "PixelID"));
59 ATH_CHECK(addToDetStore(2517, "SCT_ID"));
60 ATH_CHECK(addToDetStore(2518, "TRT_ID"));
61 ATH_CHECK(addToDetStore(131939624, "PLR_ID"));
62 ATH_CHECK(addToDetStore(79264207, "HGTD_ID"));
63 ATH_CHECK(addToDetStore(129452393, "SiliconID"));
64 ATH_CHECK(addToDetStore(163583365, "LArEM_ID"));
65 ATH_CHECK(addToDetStore(99488227, "LArEM_SuperCell_ID"));
66 ATH_CHECK(addToDetStore(3870484, "LArHEC_ID"));
67 ATH_CHECK(addToDetStore(254277678, "LArHEC_SuperCell_ID"));
68 ATH_CHECK(addToDetStore(45738051, "LArFCAL_ID"));
69 ATH_CHECK(addToDetStore(12829437, "LArFCAL_SuperCell_ID"));
70 ATH_CHECK(addToDetStore(79264204, "LArMiniFCAL_ID"));
71 ATH_CHECK(addToDetStore(158698068, "LArOnlineID"));
72 ATH_CHECK(addToDetStore(38321944, "TTOnlineID"));
73 ATH_CHECK(addToDetStore(115600394, "LArOnline_SuperCellID"));
74 ATH_CHECK(addToDetStore(27863673, "LArHVLineID"));
75 ATH_CHECK(addToDetStore(80757351, "LArElectrodeID"));
76 ATH_CHECK(addToDetStore(2901, "TileID"));
77 ATH_CHECK(addToDetStore(49557789, "Tile_SuperCell_ID"));
78 ATH_CHECK(addToDetStore(2902, "TileHWID"));
79 ATH_CHECK(addToDetStore(2903, "TileTBID"));
80
81 if (m_hasMDT)
82 ATH_CHECK(addToDetStore(4170, "MDTIDHELPER"));
83 if (m_hasCSC)
84 ATH_CHECK(addToDetStore(4171, "CSCIDHELPER"));
85
86 if (m_hasRPC)
87 ATH_CHECK(addToDetStore(4172, "RPCIDHELPER"));
88 if (m_hasTGC)
89 ATH_CHECK(addToDetStore(4173, "TGCIDHELPER"));
90 if (m_hasSTGC)
91 ATH_CHECK(addToDetStore(4174, "STGCIDHELPER"));
92 if (m_hasMM)
93 ATH_CHECK(addToDetStore(4175, "MMIDHELPER"));
94
95 ATH_CHECK(addToDetStore(108133391, "CaloLVL1_ID"));
96 ATH_CHECK(addToDetStore(123500438, "CaloCell_ID"));
97 ATH_CHECK(addToDetStore(128365736, "CaloCell_SuperCell_ID"));
98 ATH_CHECK(addToDetStore(167756483, "CaloDM_ID"));
99 ATH_CHECK(addToDetStore(190591643, "ZdcID"));
100
101 // for J/GTower
102 ATH_CHECK(addToDetStore(218674799, "JTower_ID"));
103 ATH_CHECK(addToDetStore(49678914, "GTower_ID"));
104
105 return StatusCode::SUCCESS;
106}
BooleanProperty m_hasTGC
virtual StatusCode addToDetStore(const CLID &clid, const std::string &name) const
Add new address to the Detector Store.
BooleanProperty m_hasMM
BooleanProperty m_hasRPC
BooleanProperty m_hasMDT
BooleanProperty m_hasCSC
Switch on/off the muon detectors.
BooleanProperty m_hasSTGC

◆ initTDSItems()

void DetDescrCnvSvc::initTDSItems ( )
private

◆ msg()

MsgStream & DetDescrCnvSvc::msg ( MSG::Level lvl) const
inlineprivate

Definition at line 97 of file DetDescrCnvSvc.h.

97{ return msgStream(lvl); }

Member Data Documentation

◆ m_compact_ids_only

BooleanProperty DetDescrCnvSvc::m_compact_ids_only {this, "CompactIDsOnly", false}
private

Definition at line 82 of file DetDescrCnvSvc.h.

82{this, "CompactIDsOnly", false};

◆ m_decodeIdDict

BooleanProperty DetDescrCnvSvc::m_decodeIdDict {this, "DecodeIdDict", true}
private

Definition at line 55 of file DetDescrCnvSvc.h.

55{this, "DecodeIdDict", true};

◆ m_detElemsfromDetNodes

BooleanProperty DetDescrCnvSvc::m_detElemsfromDetNodes
private
Initial value:
{this, "InitDetElemsFromGeoModel",
false}

Definition at line 80 of file DetDescrCnvSvc.h.

80 {this, "InitDetElemsFromGeoModel",
81 false};

◆ m_detMgrs

StringArrayProperty DetDescrCnvSvc::m_detMgrs {this, "DetectorManagers", {}}
private

Definition at line 53 of file DetDescrCnvSvc.h.

53{this, "DetectorManagers", {}};

◆ m_detNodes

StringArrayProperty DetDescrCnvSvc::m_detNodes {this, "DetectorNodes", {}}
private

Definition at line 54 of file DetDescrCnvSvc.h.

54{this, "DetectorNodes", {}};

◆ m_detStore

ServiceHandle<StoreGateSvc> DetDescrCnvSvc::m_detStore
private

Definition at line 52 of file DetDescrCnvSvc.h.

◆ m_do_checks

BooleanProperty DetDescrCnvSvc::m_do_checks {this, "DoIdChecks", false}
private

Definition at line 83 of file DetDescrCnvSvc.h.

83{this, "DoIdChecks", false};

◆ m_do_neighbours

BooleanProperty DetDescrCnvSvc::m_do_neighbours {this, "DoInitNeighbours", true}
private

Definition at line 84 of file DetDescrCnvSvc.h.

84{this, "DoInitNeighbours", true};

◆ m_fcal2dNeighborsName

StringProperty DetDescrCnvSvc::m_fcal2dNeighborsName {this, "FCAL2DNeighborsFileName", ""}
private

Definition at line 69 of file DetDescrCnvSvc.h.

69{this, "FCAL2DNeighborsFileName", ""};

◆ m_fcal3dNeighborsNextName

StringProperty DetDescrCnvSvc::m_fcal3dNeighborsNextName
private
Initial value:
{this,
"FCAL3DNeighborsNextFileName", ""}

Definition at line 70 of file DetDescrCnvSvc.h.

70 {this,
71 "FCAL3DNeighborsNextFileName", ""};

◆ m_fcal3dNeighborsPrevName

StringProperty DetDescrCnvSvc::m_fcal3dNeighborsPrevName
private
Initial value:
{this,
"FCAL3DNeighborsPrevFileName", ""}

Definition at line 72 of file DetDescrCnvSvc.h.

72 {this,
73 "FCAL3DNeighborsPrevFileName", ""};

◆ m_fromNova

BooleanProperty DetDescrCnvSvc::m_fromNova {this, "ReadFromNova", false}
private

Definition at line 79 of file DetDescrCnvSvc.h.

79{this, "ReadFromNova", false};

◆ m_fromRoot

BooleanProperty DetDescrCnvSvc::m_fromRoot {this, "ReadFromROOT", false}
private

Definition at line 78 of file DetDescrCnvSvc.h.

78{this, "ReadFromROOT", false};

◆ m_fullAtlasNeighborsName

StringProperty DetDescrCnvSvc::m_fullAtlasNeighborsName
private
Initial value:
{this, "FullAtlasNeighborsFileName",
""}

Definition at line 75 of file DetDescrCnvSvc.h.

75 {this, "FullAtlasNeighborsFileName",
76 ""};

◆ m_hasCSC

BooleanProperty DetDescrCnvSvc::m_hasCSC {this, "HasCSC", false}
private

Switch on/off the muon detectors.

Definition at line 88 of file DetDescrCnvSvc.h.

88{this, "HasCSC", false};

◆ m_hasMDT

BooleanProperty DetDescrCnvSvc::m_hasMDT {this, "HasMDT", true}
private

Definition at line 91 of file DetDescrCnvSvc.h.

91{this, "HasMDT", true};

◆ m_hasMM

BooleanProperty DetDescrCnvSvc::m_hasMM {this, "HasMM", false}
private

Definition at line 90 of file DetDescrCnvSvc.h.

90{this, "HasMM", false};

◆ m_hasRPC

BooleanProperty DetDescrCnvSvc::m_hasRPC {this, "HasRPC", true}
private

Definition at line 92 of file DetDescrCnvSvc.h.

92{this, "HasRPC", true};

◆ m_hasSTGC

BooleanProperty DetDescrCnvSvc::m_hasSTGC {this, "HasSTgc", false}
private

Definition at line 89 of file DetDescrCnvSvc.h.

89{this, "HasSTgc", false};

◆ m_hasTGC

BooleanProperty DetDescrCnvSvc::m_hasTGC {this, "HasTGC", true}
private

Definition at line 93 of file DetDescrCnvSvc.h.

93{this, "HasTGC", true};

◆ m_idDictATLASName

StringProperty DetDescrCnvSvc::m_idDictATLASName {this, "AtlasIDFileName", ""}
private

Definition at line 59 of file DetDescrCnvSvc.h.

59{this, "AtlasIDFileName", ""};

◆ m_idDictForwardName

StringProperty DetDescrCnvSvc::m_idDictForwardName {this, "ForwardIDFileName", ""}
private

Definition at line 68 of file DetDescrCnvSvc.h.

68{this, "ForwardIDFileName", ""};

◆ m_idDictFromRDB

BooleanProperty DetDescrCnvSvc::m_idDictFromRDB {this, "IdDictFromRDB", false}
private

Definition at line 56 of file DetDescrCnvSvc.h.

56{this, "IdDictFromRDB", false};

◆ m_idDictGlobalTag

StringProperty DetDescrCnvSvc::m_idDictGlobalTag {this, "IdDictGlobalTag", ""}
private

Definition at line 58 of file DetDescrCnvSvc.h.

58{this, "IdDictGlobalTag", ""};

◆ m_idDictInDetName

StringProperty DetDescrCnvSvc::m_idDictInDetName {this, "InDetIDFileName", ""}
private

Definition at line 60 of file DetDescrCnvSvc.h.

60{this, "InDetIDFileName", ""};

◆ m_idDictLArElectrodeName

StringProperty DetDescrCnvSvc::m_idDictLArElectrodeName {this, "LArElectrodeIDFileName", ""}
private

Definition at line 67 of file DetDescrCnvSvc.h.

67{this, "LArElectrodeIDFileName", ""};

◆ m_idDictLArHighVoltageName

StringProperty DetDescrCnvSvc::m_idDictLArHighVoltageName
private
Initial value:
{this, "HighVoltageIDFileName",
""}

Definition at line 65 of file DetDescrCnvSvc.h.

65 {this, "HighVoltageIDFileName",
66 ""};

◆ m_idDictLArName

StringProperty DetDescrCnvSvc::m_idDictLArName {this, "LArIDFileName", ""}
private

Definition at line 61 of file DetDescrCnvSvc.h.

61{this, "LArIDFileName", ""};

◆ m_idDictLVL1Name

StringProperty DetDescrCnvSvc::m_idDictLVL1Name {this, "CaloIDFileName", ""}
private

Definition at line 63 of file DetDescrCnvSvc.h.

63{this, "CaloIDFileName", ""};

◆ m_idDictMuonName

StringProperty DetDescrCnvSvc::m_idDictMuonName {this, "MuonIDFileName", ""}
private

Definition at line 64 of file DetDescrCnvSvc.h.

64{this, "MuonIDFileName", ""};

◆ m_idDictName

StringProperty DetDescrCnvSvc::m_idDictName {this, "IdDictName", ""}
private

Definition at line 57 of file DetDescrCnvSvc.h.

57{this, "IdDictName", ""};

◆ m_idDictTileName

StringProperty DetDescrCnvSvc::m_idDictTileName {this, "TileIDFileName", ""}
private

Definition at line 62 of file DetDescrCnvSvc.h.

62{this, "TileIDFileName", ""};

◆ m_tileNeighborsName

StringProperty DetDescrCnvSvc::m_tileNeighborsName {this, "TileNeighborsFileName", ""}
private

Definition at line 74 of file DetDescrCnvSvc.h.

74{this, "TileNeighborsFileName", ""};

◆ m_useGeomDB_InDet

BooleanProperty DetDescrCnvSvc::m_useGeomDB_InDet {this, "useGeomDB_InDet", false}
private

Definition at line 95 of file DetDescrCnvSvc.h.

95{this, "useGeomDB_InDet", false};

The documentation for this class was generated from the following files: