11#include <GeoModelKernel/GeoPhysVol.h>
17 const std::string &name,
18 const IInterface *parent)
30 ATH_CHECK(detStore()->retrieve(idHelper,
"HGTD_ID"));
33 ATH_CHECK(detStore()->retrieve(theExpt,
"ATLAS"));
35 m_commonItems = std::make_unique<InDetDD::SiCommonItems>(idHelper);
40 std::string
node{
"InnerDetector"};
41 std::string table{
"HGTDXDD"};
47 ATH_MSG_ERROR(
"No HGTD geometry found. HGTD can not be built.");
48 return StatusCode::FAILURE;
65 const GeoVPhysVol* topVolume =
createTopVolume(world, gmxInterface,
node, table,
"",
"",sqlreader);
69 if (useNewIdentifierScheme){
73 ATH_MSG_FATAL(
"SQLite workflow is unsupported for old HGTD identifier scheme!");
74 return StatusCode::FAILURE;
82 return StatusCode::FAILURE;
92 return StatusCode::SUCCESS;
105 return StatusCode::SUCCESS;
114 ATH_MSG_DEBUG(
"Registering callback on AlignableTransformContainer with folder " << m_alignmentFolderName);
116 StatusCode
sc = detStore()->regFcn(&IGeoModelTool::align,
dynamic_cast<IGeoModelTool *
>(
this), atc, m_alignmentFolderName);
117 if (
sc.isFailure()) {
118 ATH_MSG_ERROR(
"Could not register callback on AlignableTransformContainer with folder "
119 << m_alignmentFolderName);
120 return StatusCode::FAILURE;
123 ATH_MSG_WARNING(
"Unable to register callback on AlignableTransformContainer with folder "
124 << m_alignmentFolderName <<
", Alignment disabled!");
127 ATH_MSG_INFO(
"Alignment disabled. No callback registered");
130 return StatusCode::SUCCESS;
139 return StatusCode::FAILURE;
142 ATH_MSG_INFO(
"No align method yet implemented for HGTD_DetectorManager. Nothing to do." );
144 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
#define IOVSVC_CALLBACK_ARGS_P(I, K)
short hand for IOVSvc call back argument list, to be used when access to formal arguments is needed,...
an iterator over instances of a given type in StoreGateSvc.
GeoPhysVol * getPhysVol()
Destructor.
void addManager(const GeoVDetectorManager *)
The Detector manager has methods to retrieve the Identifier helper and methods to retrieve the detect...
void buildReadoutGeometryFromSqlite(IRDBAccessSvc *rdbAccessSvc, GeoModelIO::ReadGeoModel *sqlreader)
This is an Identifier helper class for the HGTD subdetector.
bool get_useNewIdentifierScheme() const
bool contains(const std::string &s, const std::string ®x)
does a string contain the substring