8#include "Acts/Surfaces/PerigeeSurface.hpp"
9#include "Acts/Utilities/Logger.hpp"
11#include "GaudiKernel/EventContext.h"
12#include "GaudiKernel/ISvcLocator.h"
15#include "Acts/Propagator/detail/SteppingLogger.hpp"
16#include "Acts/Utilities/Helpers.hpp"
17#include "Acts/Definitions/Units.hpp"
34#include "Acts/EventData/TrackParameters.hpp"
35#include "Acts/Propagator/Navigator.hpp"
36#include "Acts/Propagator/Propagator.hpp"
37#include "Acts/Propagator/StandardAborters.hpp"
38#include "Acts/Propagator/StraightLineStepper.hpp"
45 return StatusCode::FAILURE;
60 return StatusCode::SUCCESS;
65 const EventContext& ctx = Gaudi::Hive::currentContext();
68 if (materialStepCollection.
isValid() and not materialStepCollection->empty()) {
73 std::reference_wrapper<const Acts::GeometryContext> geoContext(context);
79 std::reference_wrapper<const Acts::GeometryContext> geoContext(context);
85 return StatusCode::SUCCESS;
98 detectorMaterial.first.insert({key, std::move(value)});
102 detectorMaterial.second.insert({key, std::move(value)});
110 detectorMaterial.first.insert({key, std::move(value)});
114 detectorMaterial.second.insert({key, std::move(value)});
121 detectorMaterial.first.insert({key, std::move(value)});
125 detectorMaterial.second.insert({key, std::move(value)});
133 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
ToolHandle< IActsSurfaceMappingTool > m_surfaceMappingTool
ServiceHandle< IActsMaterialTrackWriterSvc > m_materialTrackWriterSvc
virtual StatusCode finalize() override
Acts::SurfaceMaterialMapper::State m_mappingState
virtual StatusCode initialize() override
ToolHandle< IActsMaterialStepConverterTool > m_materialStepConverterTool
SG::ReadHandleKey< Trk::MaterialStepCollection > m_inputMaterialStepCollection
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
ToolHandle< IActsMaterialJsonWriterTool > m_materialJsonWriterTool
Acts::VolumeMaterialMapper::State m_mappingStateVol
ToolHandle< IActsVolumeMappingTool > m_volumeMappingTool
Gaudi::Property< bool > m_mapVolumes
Gaudi::Property< bool > m_mapSurfaces
virtual StatusCode execute() override
virtual bool isValid() override final
Can the handle be successfully dereferenced?
std::pair< SurfaceMaterialMap, VolumeMaterialMap > DetectorMaterialMaps
std::pair< std::pair< Acts::Vector3, Acts::Vector3 >, RecordedMaterial > RecordedMaterialTrack
Recorded material track.