ATLAS Offline Software
ActsSurfaceMappingTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 // ATHENA
8 #include "GaudiKernel/IInterface.h"
9 // PACKAGE
10 #include "ActsInterop/Logger.h"
14 
15 // ActsSurfaceMappingTool
16 #include "Acts/Geometry/GeometryContext.hpp"
17 #include "Acts/Propagator/Navigator.hpp"
18 #include "Acts/Propagator/Propagator.hpp"
19 #include "Acts/Propagator/StraightLineStepper.hpp"
20 
21 // STL
22 #include <iostream>
23 #include <memory>
24 
25 
26 ActsSurfaceMappingTool::ActsSurfaceMappingTool(const std::string& type, const std::string& name,
27  const IInterface* parent)
28  : base_class(type, name, parent)
29 {
30 }
31 
34 {
35  ATH_MSG_INFO("Initializing ACTS Surface Mapper");
36 
37  ATH_CHECK( m_trackingGeometryTool.retrieve() );
38 
39  m_trackingGeometry = m_trackingGeometryTool->trackingGeometry();
40 
41  Acts::Navigator navigator( Acts::Navigator::Config{ m_trackingGeometry } );
42 
43  // Make stepper and propagator
44  SlStepper stepper;
45  StraightLinePropagator propagator = StraightLinePropagator(std::move(stepper), std::move(navigator));
46 
48  Acts::SurfaceMaterialMapper::Config smmConfig;
49  smmConfig.mapperDebugOutput = false;
50  m_mapper = std::make_shared<Acts::SurfaceMaterialMapper>(
51  smmConfig,
52  std::move(propagator),
53  makeActsAthenaLogger(this, "SurfaceMaterialMapper"));
54 
55 
56  ATH_MSG_INFO("ACTS Surface Mapper successfully initialized");
57  return StatusCode::SUCCESS;
58 }
59 
62 {
63  auto mappingState = m_mapper->createState(
64  m_trackingGeometryTool->getNominalGeometryContext().context(), m_magFieldContext, *m_trackingGeometry);
65 
66  return mappingState;
67 }
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ActsSurfaceMappingTool::SlStepper
Acts::StraightLineStepper SlStepper
Definition: ActsSurfaceMappingTool.h:49
ActsTrk::detail::Navigator
Acts::Navigator Navigator
Definition: Tracking/Acts/ActsTrackReconstruction/src/detail/Definitions.h:31
ActsSurfaceMappingTool::StraightLinePropagator
Acts::Propagator< SlStepper, Acts::Navigator > StraightLinePropagator
Definition: ActsSurfaceMappingTool.h:50
ActsSurfaceMappingTool::m_magFieldContext
Acts::MagneticFieldContext m_magFieldContext
Definition: ActsSurfaceMappingTool.h:48
ActsSurfaceMappingTool::m_mapper
std::shared_ptr< Acts::SurfaceMaterialMapper > m_mapper
Definition: ActsSurfaceMappingTool.h:52
ActsSurfaceMappingTool::ActsSurfaceMappingTool
ActsSurfaceMappingTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: ActsSurfaceMappingTool.cxx:26
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
GeometryContext.h
ActsSurfaceMappingTool::m_trackingGeometry
std::shared_ptr< const Acts::TrackingGeometry > m_trackingGeometry
Definition: ActsSurfaceMappingTool.h:53
ActsSurfaceMappingTool.h
ActsTrackingGeometryTool.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonR4::State
CalibratedSpacePoint::State State
Definition: SpacePointCalibrator.cxx:42
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
ActsSurfaceMappingTool::mappingState
virtual Acts::SurfaceMaterialMapper::State mappingState() const override
Definition: ActsSurfaceMappingTool.cxx:61
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ActsSurfaceMappingTool::m_trackingGeometryTool
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
Definition: ActsSurfaceMappingTool.h:51
ITrackingGeometryTool.h
Logger.h
ActsSurfaceMappingTool::initialize
virtual StatusCode initialize() override
Definition: ActsSurfaceMappingTool.cxx:33