14 using namespace SegmentFit;
22 template <
class ContainerType>
25 const ContainerType*& contToPush)
const {
29 return StatusCode::SUCCESS;
33 contToPush = readHandle.cptr();
34 return StatusCode::SUCCESS;
44 ATH_CHECK(m_keyTgc.initialize(!m_keyTgc.empty()));
45 ATH_CHECK(m_keyRpc.initialize(!m_keyRpc.empty()));
46 ATH_CHECK(m_keyMdt.initialize(!m_keyMdt.empty()));
47 ATH_CHECK(m_keysTgc.initialize(!m_keysTgc.empty()));
48 ATH_CHECK(m_keyMM.initialize(!m_keyMM.empty()));
49 return StatusCode::SUCCESS;
59 return StatusCode::SUCCESS;
68 ATH_MSG_WARNING(
"Failed to find the hit "<<m_idHelperSvc->toString(measId));
70 return StatusCode::SUCCESS;
75 ATH_CHECK(retrieveContainer(ctx, m_segmentKey, segmentContainer));
77 ATH_CHECK(retrieveContainer(ctx, m_geoCtxKey, gctx));
87 return StatusCode::SUCCESS;;
89 if (!rotId.is_valid()) {
90 rotId = rot->identify();
93 switch(m_idHelperSvc->technologyIndex(rot->identify())){
95 ATH_CHECK(fetchMeasurement(ctx, m_keyMdt, rot->identify(), prd));
98 ATH_CHECK(fetchMeasurement(ctx, m_keyRpc, rot->identify(), prd));
101 ATH_CHECK(fetchMeasurement(ctx, m_keyTgc, rot->identify(), prd));
104 ATH_CHECK(fetchMeasurement(ctx, m_keyMM, rot->identify(), prd));
107 ATH_CHECK(fetchMeasurement(ctx, m_keysTgc, rot->identify(), prd));
113 return StatusCode::SUCCESS;
115 ATH_MSG_VERBOSE(
"Link new measurement "<<m_idHelperSvc->toString(rot->identify()));
119 return StatusCode::SUCCESS;
130 for (
unsigned int r = 0 ;
r < cRot->numberOfContainedROTs(); ++
r){
138 SegPars& locPars{parDecor(*seg)};
143 const double travDist = Amg::intersect<3>(locPos,
locDir, Amg::Vector3D::UnitZ(), 0).value_or(0);
150 ATH_MSG_VERBOSE(
"Segment "<<m_idHelperSvc->toStringChamber(rotId)<<
" at chamber centre "
153 return StatusCode::SUCCESS;