26 #include "GaudiKernel/TypeNameString.h"
34 m_theTrackExtrapolatorTool(
"Trk::ParticleCaloExtensionTool",this),
35 m_trackParametersIdHelper(std::
make_unique<
Trk::TrackParametersIdHelper>())
37 declareInterface<eflowTrackExtrapolatorBaseAlgTool>(
this);
48 return StatusCode::SUCCESS;
59 return StatusCode::SUCCESS;
75 std::map<eflowCalo::LAYER, const Trk::TrackParameters*> parametersMap;
76 std::map<CaloCell_ID::CaloSample,const Trk::TrackParameters*> tileParametersMap;
80 std::unique_ptr<Trk::CaloExtension> uniqueExtension;
84 extrapolation_timer.start();
89 Gaudi::Hive::currentContext(), *
track);
90 extension = uniqueExtension.get();
95 extension = (*particleCache)[
index];
98 ATH_MSG_VERBOSE(
"Cache does not contain a calo extension -> Calculating with the a CaloExtensionTool" );
100 Gaudi::Hive::currentContext(), *
track);
101 extension = uniqueExtension.get();
104 extrapolation_timer.stop();
106 if (extension !=
nullptr) {
114 if (parametersMap[
getLayer(&clParameter)] ==
nullptr) {
115 parametersMap[
getLayer(&clParameter)] = &clParameter;
117 parametersMap[
getLayer(&clParameter)] = &clParameter;
122 if (tileParametersMap[caloSample] ==
nullptr){
123 tileParametersMap[caloSample] = &clParameter;
125 tileParametersMap[caloSample] = &clParameter;
137 return std::make_unique<eflowTrackCaloPoints>(parametersMap,tileParametersMap);
143 return std::make_unique<eflowTrackCaloPoints>(parametersMap);
148 return StatusCode::SUCCESS;
153 unsigned int parametersIdentifier = clParameter->
cIdentifier();