33{
34
35
37
40
41
42 std::string detectorTag{""};
43 std::string detectorNode{""};
44 GeoModelIO::ReadGeoModel* sqliteReader =
m_geoDbTagSvc->getSqliteReader();
45
46 if(!sqliteReader) {
48 ATH_MSG_INFO(
"Building SCT with Version Tag: " << versionKey.
tag() <<
" at Node: " << versionKey.
node());
49
50 detectorTag = versionKey.
tag();
51 detectorNode = versionKey.
node();
52
53 std::string sctVersionTag{accessSvc->getChildTag("SCT", detectorTag, detectorNode)};
54
56 if (sctVersionTag.empty()) {
58 return StatusCode::SUCCESS;
59 }
60 else {
61 ATH_MSG_DEBUG(
"Keys for SCT Switches are " << detectorTag <<
" " << detectorNode);
62 }
63 }
64 std::string versionName;
65 IRDBRecordset_ptr switchSet{accessSvc->getRecordsetPtr(
"SctSwitches", detectorTag, detectorNode)};
66 const IRDBRecord* switches{(*switchSet)[0]};
69 }
71 versionName = switches->
getString(
"VERSIONNAME");
72 }
73
74 if (versionName.empty() &&
m_cosmic) {
75 versionName = "SR1";
76 }
77
83
87
88
89 GeoModelExperiment* theExpt{nullptr};
91
92
94
95
100 const SCT_ID* idHelper{nullptr};
103
105
106
107
108
109 if (sqliteReader) {
110 ATH_MSG_INFO(
"Building the geometry from the SQLite file");
114 }
115 else {
119 }
120
123 return StatusCode::FAILURE;
124 }
125
129
130
131 const SiDetectorManager* siDetManager{
m_manager};
133
134 return StatusCode::SUCCESS;
135}
#define ATH_CHECK
Evaluate an expression and check for errors.
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
const std::string & tag() const
Return version tag.
const std::string & node() const
Return the version node.
GeoPhysVol * getPhysVol()
Destructor.
void addManager(const GeoVDetectorManager *)
virtual const std::string & getString(const std::string &fieldName) const =0
Get string field value.
virtual bool isFieldNull(const std::string &fieldName) const =0
Check if the field value is NULL.
virtual int getInt(const std::string &fieldName) const =0
Get int field value.
virtual void create(GeoPhysVol *world) override
virtual const InDetDD::SCT_DetectorManager * getDetectorManager() const override
virtual void create(GeoPhysVol *world)
virtual const InDetDD::SCT_DetectorManager * getDetectorManager() const
retrieve(aClass, aKey=None)