18 m_forceSearchInit(false)
20 declareInterface<Trk::IExtrapolationEngine>(
this);
37 EX_MSG_DEBUG(
"",
"initialize",
"",
"starting initialize()" );
39 ATH_CHECK( m_trackingGeometryReadKey.initialize(!m_trackingGeometryReadKey.key().empty()) );
42 if (m_extrapolationEngines.retrieve().isFailure()){
45 EX_MSG_DEBUG(
"",
"initialize",
"",
"Successfully retrieved " << m_extrapolationEngines.size() <<
" ExtrapolationEngines. Ordering them now." );
47 for (
auto& ee : m_extrapolationEngines){
48 EX_MSG_DEBUG(
"",
"initialize",
"",
"Registering " << ee->name() <<
" - for GeometryType : " << ee->geometryType() );
49 m_eeAccessor[ee->geometryType()] = (&*ee);
53 if (m_propagationEngine.retrieve().isFailure()){
54 EX_MSG_FATAL(
"",
"initialize",
"",
"failed to retrieve propagation engine '"<< m_propagationEngine <<
"'. Aborting." );
55 return StatusCode::FAILURE;
57 EX_MSG_DEBUG(
"",
"initialize",
"",
"successfully propagation engine '" << m_propagationEngine <<
"'." );
59 if (m_navigationEngine.retrieve().isFailure()){
60 EX_MSG_FATAL(
"",
"initialize",
"",
"failed to retrieve navigation engine '"<< m_navigationEngine <<
"'. Aborting." );
61 return StatusCode::FAILURE;
63 EX_MSG_DEBUG(
"",
"initialize",
"",
"successfully retrieved '" << m_navigationEngine <<
"'." );
65 return StatusCode::SUCCESS;
72 return StatusCode::SUCCESS;
80 {
return extrapolateT<TrackParameters>(ecCharged,
sf,ecCharged.
propDirection,bcheck); }
87 {
return extrapolateT<NeutralParameters>(ecNeutral,
sf,ecNeutral.
propDirection,bcheck); }
90 std::stringstream
msg;
91 msg <<
"Failed to get conditions data " << m_trackingGeometryReadKey.key() <<
".";
92 throw std::runtime_error(
msg.str());