15 }
catch (
const std::exception& what) {
17 return StatusCode::FAILURE;
21 <<
" to be something not undefined");
22 return StatusCode::FAILURE;
24 return StatusCode::SUCCESS;
29 ATH_MSG_DEBUG(
"Nothing needs to be done for " << ctx.eventID().event_number());
30 return StatusCode::SUCCESS;
34 auto trfCache = std::make_unique<ActsTrk::DetectorAlignStore>(
m_type);
35 std::ranges::for_each(
m_detMgr->getAllReadoutElements(),
37 if (re->detectorType() == m_type){
38 re->getMaterialGeom()->getAbsoluteTransform(trfCache->geoModelAlignment.get());
39 re->getMaterialGeom()->clearPositionInfo();
42 ATH_CHECK(writeHandle.record(std::move(trfCache)));
43 return StatusCode::SUCCESS;
const boost::regex re(r_e)
#define ATH_CHECK
Evaluate an expression and check for errors.
const ServiceHandle< StoreGateSvc > & detStore() const
static EventIDRange infiniteTime()
Produces an EventIDRange that is inifinite in Time and invalid in RunLumi.
Gaudi::Property< int > m_detType
Flag determining the subdetector. Needs to be static castable to DetectorType.
ActsTrk::DetectorType m_type
virtual StatusCode execute(const EventContext &ctx) const override final
const MuonGMR4::MuonDetectorManager * m_detMgr
SG::WriteCondHandleKey< ActsTrk::DetectorAlignStore > m_writeKey
virtual StatusCode initialize() override final
The MuonReadoutElement is an abstract class representing the geometry representing the muon detector.
void addDependency(const EventIDRange &range)
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.
@ UnDefined
Small Thing Gap chambers (NSW)