|
ATLAS Offline Software
|
Go to the documentation of this file.
20 #include "GaudiKernel/ServiceHandle.h"
21 #include "GaudiKernel/ToolHandle.h"
31 m_geoDbTagSvc(
"GeoDbTagSvc",
name),
32 m_geometryDBSvc(
"InDetGeometryDBSvc",
name),
58 msg(MSG::WARNING) <<
"You are using a development version. There are no guarantees of stability"
68 <<
"Could not find GeoModelExperiment ATLAS"
70 return (StatusCode::FAILURE);
80 return (StatusCode::FAILURE);
88 GeoModelIO::ReadGeoModel* sqliteReader =
m_geoDbTagSvc->getSqliteReader();
98 std::string versionTag = accessSvc->getChildTag(
"InDetServices", versionKey.
tag(), versionKey.
node());
102 if (versionTag.empty()) {
103 msg(MSG::INFO) <<
"No InDetService Version. InDetService will not be built." <<
endmsg;
104 if(msgLvl(
MSG::DEBUG))
msg() <<
"InnerDetector Version Tag: " << versionKey.
tag() <<
" at Node: "
106 return StatusCode::SUCCESS;
109 if(msgLvl(
MSG::DEBUG))
msg() <<
"Keys for InDetServMat Switches are " << versionKey.
tag() <<
" " << versionKey.
node() <<
endmsg;
111 std::string versionName;
112 std::string descrName=
"noDescr";
113 if (!accessSvc->getChildTag(
"InDetServSwitches", versionKey.
tag(), versionKey.
node()).empty()) {
115 const IRDBRecord *switchTable = (*switchSet)[0];
116 versionName = switchTable->
getString(
"VERSIONNAME");
117 if (!switchTable->
isFieldNull(
"DESCRIPTION")) descrName = switchTable->
getString(
"DESCRIPTION");
122 msg(MSG::INFO) <<
"Overriding version name: " << versionName <<
endmsg;
125 msg(MSG::INFO) <<
"Building Inner Detector Service Material. Version: " << versionName <<
endmsg;
129 if (
sc.isFailure()) {
131 return (StatusCode::FAILURE);
142 if (versionName ==
"SLHC") {
145 if (!
sc.isFailure()) {
149 msg(MSG::ERROR) <<
"Could not retrieve " <<
m_builderTool <<
", some services will not be built." <<
endmsg;
154 msg(MSG::INFO) <<
"Service builder tool not specified." <<
endmsg;
161 if (versionName ==
"CSC") {
168 msg(MSG::ERROR) <<
" Unrecognized VersionName: " << versionName <<
endmsg;
169 return StatusCode::FAILURE;
179 catch (
const std::bad_alloc&) {
181 return StatusCode::FAILURE;
190 return StatusCode::FAILURE;
202 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
Class to hold various Athena components.
GeoPhysVol * getPhysVol()
Destructor.
virtual const std::string & getString(const std::string &fieldName) const =0
Get string field value.
const std::string & node() const
Return the version node.
void setGeoDbTagSvc(IGeoDbTagSvc *)
void setDetStore(StoreGateSvc *)
virtual const InDetDD::InDetServMatManager * getDetectorManager() const override
Definition of the abstract IRDBAccessSvc interface.
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
::StatusCode StatusCode
StatusCode definition for legacy code.
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
void setBuilderTool(IInDetServMatBuilderTool *builderTool)
Default, invalid implementation of ClassID_traits.
const std::string & tag() const
Return version tag.
void setRDBAccessSvc(IRDBAccessSvc *)
#define CHECK(...)
Evaluate an expression and check for errors.
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Helpers for checking error return status codes and reporting errors.
void addManager(const GeoVDetectorManager *)
Definition of the abstract IRDBRecord interface.
virtual bool isFieldNull(const std::string &fieldName) const =0
Check if the field value is NULL.
IRDBRecord is one record in the IRDBRecordset object.
void setGeometryDBSvc(IGeometryDBSvc *)
virtual const InDetDD::InDetServMatManager * getDetectorManager() const override
Definition of the abstract IRDBRecordset interface.
virtual void create(GeoPhysVol *world) override
virtual void create(GeoPhysVol *world) override