ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::MaterialMapper Class Reference

Class that implements the material mapping procedure. More...

#include <Acts/Material/MaterialMapper.hpp>

Classes

struct  Config
 nested configuration struct More...
struct  Options
 nested options struct holds some options for the delegated calls More...
struct  State
 nested state struct More...

Public Member Functions

 MaterialMapper (const Config &cfg, std::unique_ptr< const Logger > mlogger=getDefaultLogger("BinnedSurfaceMaterialAccumulator", Logging::INFO))
 MaterialMapper constructor.
std::unique_ptr< State > createState (const GeometryContext &gctx) const
 Factory for creating the state.
TrackingGeometryMaterial finalizeMaps (const State &state, const GeometryContext &gctx) const
 Finalize the maps.
std::pair< RecordedMaterialTrack, RecordedMaterialTrack > mapMaterial (State &state, const GeometryContext &gctx, const MagneticFieldContext &mctx, const RecordedMaterialTrack &rmTrack, const Options &options=Options{}) const
 Map the material interactions to the surfaces.
std::vector< std::pair< RecordedMaterialTrack, RecordedMaterialTrack > > mapMaterial (State &state, const GeometryContext &gctx, const MagneticFieldContext &mctx, std::span< const RecordedMaterialTrack *const > rmTracks, const Options &options=Options{}) const
 Map the material interactions of a batch of tracks.

Detailed Description

Class that implements the material mapping procedure.

Constructor & Destructor Documentation

◆ MaterialMapper()

Acts::MaterialMapper::MaterialMapper ( const Config & cfg,
std::unique_ptr< const Logger > mlogger = getDefaultLogger("BinnedSurfaceMaterialAccumulator", Logging::INFO) )
explicit

MaterialMapper constructor.

Parameters
cfgthe configuration struct
mloggerthe logger instance

Member Function Documentation

◆ createState()

std::unique_ptr< State > Acts::MaterialMapper::createState ( const GeometryContext & gctx) const

Factory for creating the state.

Parameters
gctxthe geometry context
Returns
Unique pointer to a new material mapping state object

◆ finalizeMaps()

TrackingGeometryMaterial Acts::MaterialMapper::finalizeMaps ( const State & state,
const GeometryContext & gctx ) const

Finalize the maps.

Parameters
stateMaterial mapping state containing collected data
gctxGeometry context for finalization
Returns
Tracking geometry material map with finalized surface and volume materials

◆ mapMaterial() [1/2]

std::pair< RecordedMaterialTrack, RecordedMaterialTrack > Acts::MaterialMapper::mapMaterial ( State & state,
const GeometryContext & gctx,
const MagneticFieldContext & mctx,
const RecordedMaterialTrack & rmTrack,
const Options & options = Options{} ) const

Map the material interactions to the surfaces.

Parameters
statethe state object holding the sub states
gctxthe geometry context
mctxthe magnetic field context
rmTrackthe recorded material track
optionsthe call options (see above)
Returns
the mapped and unmapped material tracks

◆ mapMaterial() [2/2]

std::vector< std::pair< RecordedMaterialTrack, RecordedMaterialTrack > > Acts::MaterialMapper::mapMaterial ( State & state,
const GeometryContext & gctx,
const MagneticFieldContext & mctx,
std::span< const RecordedMaterialTrack *const > rmTracks,
const Options & options = Options{} ) const

Map the material interactions of a batch of tracks.

The assignment of the tracks runs concurrently on the configured number of threads, the accumulation is delegated to the batch accumulation of the surface material accumulator. The result is identical to calling the single-track mapMaterial for every track in order.

Parameters
statethe state object holding the sub states
gctxthe geometry context
mctxthe magnetic field context
rmTracksthe recorded material tracks, which are not copied
optionsthe call options (see above)
Returns
the mapped and unmapped material tracks, in input order