ATLAS Offline Software
ActsVolumeMappingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ACTSGEOMETRY_ACTSVOLUMEMAPPINGTOOL_H
6 #define ACTSGEOMETRY_ACTSVOLUMEMAPPINGTOOL_H
7 
8 // ATHENA
10 #include "GaudiKernel/IInterface.h"
11 #include "GaudiKernel/ServiceHandle.h"
12 #include "Gaudi/Property.h"
13 #include "GaudiKernel/EventContext.h"
14 
15 // PACKAGE
18 
19 // ACTS
20 #include "Acts/Material/VolumeMaterialMapper.hpp"
21 
22 // BOOST
23 
24 #include <cmath>
25 
26 class ActsVolumeMappingTool : public extends<AthAlgTool, IActsVolumeMappingTool>
27 {
28 
29 public:
30  virtual StatusCode initialize() override;
31 
32  ActsVolumeMappingTool(const std::string& type, const std::string& name,
33  const IInterface* parent);
34 
35  std::shared_ptr<Acts::VolumeMaterialMapper>
36  mapper() const override
37  {
38  return m_mapper;
39  };
40 
41  virtual
43  mappingState() const override;
44 
45 private:
46  // Straight line stepper
47  Acts::MagneticFieldContext m_magFieldContext;
48  Acts::GeometryContext m_geoContext;
49  using SlStepper = Acts::StraightLineStepper;
50  using StraightLinePropagator = Acts::Propagator<SlStepper, Acts::Navigator>;
51  PublicToolHandle<ActsTrk::ITrackingGeometryTool> m_trackingGeometryTool{this, "TrackingGeometryTool", "ActsTrackingGeometryTool"};
52  std::shared_ptr<Acts::VolumeMaterialMapper> m_mapper;
53  std::shared_ptr<const Acts::TrackingGeometry> m_trackingGeometry;
54 };
55 
56 
57 
58 #endif
ActsVolumeMappingTool::initialize
virtual StatusCode initialize() override
Definition: ActsVolumeMappingTool.cxx:35
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
IActsVolumeMappingTool.h
ActsVolumeMappingTool
Definition: ActsVolumeMappingTool.h:27
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
ActsVolumeMappingTool::ActsVolumeMappingTool
ActsVolumeMappingTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: ActsVolumeMappingTool.cxx:28
ActsVolumeMappingTool::StraightLinePropagator
Acts::Propagator< SlStepper, Acts::Navigator > StraightLinePropagator
Definition: ActsVolumeMappingTool.h:50
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:33
ActsVolumeMappingTool::m_mapper
std::shared_ptr< Acts::VolumeMaterialMapper > m_mapper
Definition: ActsVolumeMappingTool.h:52
AthAlgTool.h
ActsVolumeMappingTool::mapper
std::shared_ptr< Acts::VolumeMaterialMapper > mapper() const override
Definition: ActsVolumeMappingTool.h:36
test_pyathena.parent
parent
Definition: test_pyathena.py:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ActsVolumeMappingTool::SlStepper
Acts::StraightLineStepper SlStepper
Definition: ActsVolumeMappingTool.h:49
ITrackingGeometryTool.h
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