ATLAS Offline Software
Public Member Functions | Private Types | Private Attributes | List of all members
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 
39  ATH_CHECK( m_trackingGeometryTool.retrieve() );
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 }

◆ 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 }

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.


The documentation for this class was generated from the following files:
ActsVolumeMappingTool::m_geoContext
Acts::GeometryContext m_geoContext
Definition: ActsVolumeMappingTool.h:48
ActsVolumeMappingTool::m_magFieldContext
Acts::MagneticFieldContext m_magFieldContext
Definition: ActsVolumeMappingTool.h:47
ActsVolumeMappingTool::m_trackingGeometry
std::shared_ptr< const Acts::TrackingGeometry > m_trackingGeometry
Definition: ActsVolumeMappingTool.h:53
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ActsTrk::detail::Navigator
Acts::Navigator Navigator
Definition: Tracking/Acts/ActsTrackReconstruction/src/detail/Definitions.h:31
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
makeActsAthenaLogger
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
Definition: Tracking/Acts/ActsInterop/src/Logger.cxx:64
ActsVolumeMappingTool::StraightLinePropagator
Acts::Propagator< SlStepper, Acts::Navigator > StraightLinePropagator
Definition: ActsVolumeMappingTool.h:50
ActsVolumeMappingTool::m_mapper
std::shared_ptr< Acts::VolumeMaterialMapper > m_mapper
Definition: ActsVolumeMappingTool.h:52
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ActsVolumeMappingTool::SlStepper
Acts::StraightLineStepper SlStepper
Definition: ActsVolumeMappingTool.h:49
ActsVolumeMappingTool::mappingState
virtual Acts::VolumeMaterialMapper::State mappingState() const override
Definition: ActsVolumeMappingTool.cxx:63
ActsVolumeMappingTool::m_trackingGeometryTool
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
Definition: ActsVolumeMappingTool.h:51