19 declareInterface<Trk::IExtrapolationEngine>(
this);
30 EX_MSG_DEBUG(
"",
"initialize",
"",
"starting initialize()" );
32 m_sopPrefix = m_sopPrefix_prop;
33 m_sopPostfix = m_sopPostfix_prop;
36 ATH_CHECK( m_trackingGeometryReadKey.initialize(!m_trackingGeometryReadKey.key().empty()) );
39 if (m_extrapolationEngines.retrieve().isFailure()){
42 EX_MSG_DEBUG(
"",
"initialize",
"",
"Successfully retrieved " << m_extrapolationEngines.size() <<
" ExtrapolationEngines. Ordering them now." );
44 for (
auto& ee : m_extrapolationEngines){
45 EX_MSG_DEBUG(
"",
"initialize",
"",
"Registering " << ee->name() <<
" - for GeometryType : " << ee->geometryType() );
46 m_eeAccessor[ee->geometryType()] = (&*ee);
50 if (m_propagationEngine.retrieve().isFailure()){
51 EX_MSG_FATAL(
"",
"initialize",
"",
"failed to retrieve propagation engine '"<< m_propagationEngine <<
"'. Aborting." );
52 return StatusCode::FAILURE;
54 EX_MSG_DEBUG(
"",
"initialize",
"",
"successfully propagation engine '" << m_propagationEngine <<
"'." );
56 if (m_navigationEngine.retrieve().isFailure()){
57 EX_MSG_FATAL(
"",
"initialize",
"",
"failed to retrieve navigation engine '"<< m_navigationEngine <<
"'. Aborting." );
58 return StatusCode::FAILURE;
60 EX_MSG_DEBUG(
"",
"initialize",
"",
"successfully retrieved '" << m_navigationEngine <<
"'." );
62 return StatusCode::SUCCESS;
69 return StatusCode::SUCCESS;
77 {
return extrapolateT<TrackParameters>(ecCharged,
sf,ecCharged.
propDirection,bcheck); }
84 {
return extrapolateT<NeutralParameters>(ecNeutral,
sf,ecNeutral.
propDirection,bcheck); }
87 std::stringstream
msg;
88 msg <<
"Failed to get conditions data " << m_trackingGeometryReadKey.key() <<
".";
89 throw std::runtime_error(
msg.str());