ATLAS Offline Software
Loading...
Searching...
No Matches
ActsVolumeMappingTool Class Reference

#include <ActsVolumeMappingTool.h>

Inheritance diagram for ActsVolumeMappingTool:
Collaboration diagram for ActsVolumeMappingTool:

Public Member Functions

virtual StatusCode initialize () override
 ActsVolumeMappingTool (const std::string &type, const std::string &name, const IInterface *parent)
std::shared_ptr< Acts::VolumeMaterialMapper > mapper () const override
virtual Acts::VolumeMaterialMapper::State mappingState () const override

Private Types

using SlStepper = Acts::StraightLineStepper
using StraightLinePropagator = Acts::Propagator<SlStepper, Acts::Navigator>

Private Attributes

Acts::MagneticFieldContext m_magFieldContext
Acts::GeometryContext m_geoContext
PublicToolHandle< ActsTrk::ITrackingGeometryToolm_trackingGeometryTool {this, "TrackingGeometryTool", "ActsTrackingGeometryTool"}
std::shared_ptr< Acts::VolumeMaterialMapper > m_mapper
std::shared_ptr< const Acts::TrackingGeometry > m_trackingGeometry

Detailed Description

Definition at line 26 of file ActsVolumeMappingTool.h.

Member Typedef Documentation

◆ SlStepper

using ActsVolumeMappingTool::SlStepper = Acts::StraightLineStepper
private

Definition at line 49 of file ActsVolumeMappingTool.h.

◆ StraightLinePropagator

using ActsVolumeMappingTool::StraightLinePropagator = Acts::Propagator<SlStepper, Acts::Navigator>
private

Definition at line 50 of file ActsVolumeMappingTool.h.

Constructor & Destructor Documentation

◆ ActsVolumeMappingTool()

ActsVolumeMappingTool::ActsVolumeMappingTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 28 of file ActsVolumeMappingTool.cxx.

30 : base_class(type, name, parent)
31{
32}

Member Function Documentation

◆ initialize()

StatusCode ActsVolumeMappingTool::initialize ( )
overridevirtual

The material mapper

Definition at line 35 of file ActsVolumeMappingTool.cxx.

36{
37 ATH_MSG_INFO("Initializing ACTS Volume Mapper");
38
40
41 m_trackingGeometry = m_trackingGeometryTool->trackingGeometry();
42
43 Acts::Navigator navigator( Acts::Navigator::Config{ m_trackingGeometry } );
44 // Make stepper and propagator
45 SlStepper stepper;
46 StraightLinePropagator propagator = StraightLinePropagator(std::move(stepper), std::move(navigator));
47
49 Acts::VolumeMaterialMapper::Config smmConfig;
50 smmConfig.mappingStep = 10;
51 m_mapper = std::make_shared<Acts::VolumeMaterialMapper>(
52 smmConfig,
53 std::move(propagator),
54 makeActsAthenaLogger(this, "VolumeMaterialMapper"));
55
56 m_geoContext = m_trackingGeometryTool->getNominalGeometryContext().context();
57
58 ATH_MSG_INFO("ACTS Surface Mapper successfully initialized");
59 return StatusCode::SUCCESS;
60}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_INFO(x)
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
std::shared_ptr< const Acts::TrackingGeometry > m_trackingGeometry
Acts::Propagator< SlStepper, Acts::Navigator > StraightLinePropagator
Acts::StraightLineStepper SlStepper
std::shared_ptr< Acts::VolumeMaterialMapper > m_mapper
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
Acts::GeometryContext m_geoContext

◆ mapper()

std::shared_ptr< Acts::VolumeMaterialMapper > ActsVolumeMappingTool::mapper ( ) const
inlineoverride

Definition at line 36 of file ActsVolumeMappingTool.h.

37 {
38 return m_mapper;
39 };

◆ mappingState()

Acts::VolumeMaterialMapper::State ActsVolumeMappingTool::mappingState ( ) const
overridevirtual

Definition at line 63 of file ActsVolumeMappingTool.cxx.

64{
65 auto mappingState = m_mapper->createState(
67
68 return mappingState;
69}
virtual Acts::VolumeMaterialMapper::State mappingState() const override
Acts::MagneticFieldContext m_magFieldContext

Member Data Documentation

◆ m_geoContext

Acts::GeometryContext ActsVolumeMappingTool::m_geoContext
private

Definition at line 48 of file ActsVolumeMappingTool.h.

◆ m_magFieldContext

Acts::MagneticFieldContext ActsVolumeMappingTool::m_magFieldContext
private

Definition at line 47 of file ActsVolumeMappingTool.h.

◆ m_mapper

std::shared_ptr<Acts::VolumeMaterialMapper> ActsVolumeMappingTool::m_mapper
private

Definition at line 52 of file ActsVolumeMappingTool.h.

◆ m_trackingGeometry

std::shared_ptr<const Acts::TrackingGeometry> ActsVolumeMappingTool::m_trackingGeometry
private

Definition at line 53 of file ActsVolumeMappingTool.h.

◆ m_trackingGeometryTool

PublicToolHandle<ActsTrk::ITrackingGeometryTool> ActsVolumeMappingTool::m_trackingGeometryTool {this, "TrackingGeometryTool", "ActsTrackingGeometryTool"}
private

Definition at line 51 of file ActsVolumeMappingTool.h.

51{this, "TrackingGeometryTool", "ActsTrackingGeometryTool"};

The documentation for this class was generated from the following files: