ATLAS Offline Software
Loading...
Searching...
No Matches
ActsSurfaceMappingTool.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_ACTSSURFACEMAPPINGTOOL_H
6#define ACTSGEOMETRY_ACTSSURFACEMAPPINGTOOL_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/SurfaceMaterialMapper.hpp"
21
22// BOOST
23#include <cmath>
24
25class ActsSurfaceMappingTool : public extends<AthAlgTool, IActsSurfaceMappingTool>
26{
27
28public:
29 virtual StatusCode initialize() override;
30
31 ActsSurfaceMappingTool(const std::string& type, const std::string& name,
32 const IInterface* parent);
33
34 virtual
35 std::shared_ptr<Acts::SurfaceMaterialMapper>
36 mapper() const override
37 {
38 return m_mapper;
39 };
40
41 virtual
42 Acts::SurfaceMaterialMapper::State
43 mappingState() const override;
44
45
46private:
47 // Straight line stepper
48 Acts::MagneticFieldContext m_magFieldContext;
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::SurfaceMaterialMapper> m_mapper;
53 std::shared_ptr<const Acts::TrackingGeometry> m_trackingGeometry;
54};
55
56
57
58#endif
virtual std::shared_ptr< Acts::SurfaceMaterialMapper > mapper() const override
Acts::Propagator< SlStepper, Acts::Navigator > StraightLinePropagator
ActsSurfaceMappingTool(const std::string &type, const std::string &name, const IInterface *parent)
virtual Acts::SurfaceMaterialMapper::State mappingState() const override
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
std::shared_ptr< Acts::SurfaceMaterialMapper > m_mapper
Acts::StraightLineStepper SlStepper
virtual StatusCode initialize() override
std::shared_ptr< const Acts::TrackingGeometry > m_trackingGeometry
Acts::MagneticFieldContext m_magFieldContext