Class SurfaceMaterialMapper¶
Defined in File SurfaceMaterialMapper.hpp
Nested Relationships¶
Class Documentation¶
-
class
Acts
::
SurfaceMaterialMapper
¶ SurfaceMaterialMapper.
This is the main feature tool to map material information from a 3D geometry onto the TrackingGeometry with its surface material description.
The process runs as such:
1) TrackingGeometry is parsed and for each Surface with ProtoSurfaceMaterial a local store is initialized the identification is done hereby through the Surface::GeometryIdentifier
2) A Cache is generated that is used to keep the filling thread local, the filling is protected with std::mutex
3) A number of N material tracks is read in, each track has : origin, direction, material steps < position, step length, x0, l0, a, z, rho >
for each track: surfaces along the origin/direction path are collected the closest material steps are assigned
4) Each ‘hit’ bin per event is counted and averaged at the end of the run
Public Types
-
using
StraightLinePropagator
= Propagator<StraightLineStepper, Navigator>¶
Public Functions
-
SurfaceMaterialMapper
() = delete¶ Delete the Default constructor.
-
SurfaceMaterialMapper
(const Config &cfg, StraightLinePropagator propagator, std::unique_ptr<const Logger> slogger = getDefaultLogger("SurfaceMaterialMapper", Logging::INFO))¶ Constructor with config object.
- Parameters
cfg
: Configuration structpropagator
: The straight line propagatorlog
: The logger
-
State
createState
(const GeometryContext &gctx, const MagneticFieldContext &mctx, const TrackingGeometry &tGeometry) const¶ helper method that creates the cache for the mapping
This method takes a TrackingGeometry, finds all surfaces with material proxis and returns you a Cache object tO be used
- Parameters
[in] tGeometry
: The geometry which should be mapped
-
void
finalizeMaps
(State &mState) const¶ Method to finalize the maps.
It calls the final run averaging and then transforms the AccumulatedSurface material class to a surface material class type
- Parameters
mState
:
-
void
mapMaterialTrack
(State &mState, RecordedMaterialTrack &mTrack) const¶ Process/map a single track.
- Note
the RecordedMaterialSlab of the track are assumed to be ordered from the starting position along the starting direction
- Parameters
mState
: The current state mapmTrack
: The material track to be mapped
-
struct
Config
¶ Nested Configuration struct for the material mapper.
-
struct
State
¶ Nested State struct which is used for the mapping prococess.
Public Functions
-
State
(std::reference_wrapper<const GeometryContext> gctx, std::reference_wrapper<const MagneticFieldContext> mctx)¶ Constructor of the Sate with contexts.
Public Members
-
std::map<GeometryIdentifier, AccumulatedSurfaceMaterial>
accumulatedMaterial
¶ The accumulated material per geometry ID.
-
std::reference_wrapper<const GeometryContext>
geoContext
¶ Reference to the geometry context for the mapping.
-
std::reference_wrapper<const MagneticFieldContext>
magFieldContext
¶ Reference to the magnetic field context.
-
std::map<GeometryIdentifier, std::unique_ptr<const ISurfaceMaterial>>
surfaceMaterial
¶ The created surface material from it.
-
std::map<GeometryIdentifier, std::shared_ptr<const IVolumeMaterial>>
volumeMaterial
¶ The volume material of the input tracking geometry.
-
-
using