ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::BinnedSurfaceMaterialAccumulator Class Referencefinal

The binned surface material accumulator. More...

#include <Acts/Material/BinnedSurfaceMaterialAccumulator.hpp>

Inheritance diagram for Acts::BinnedSurfaceMaterialAccumulator:
[legend]
Collaboration diagram for Acts::BinnedSurfaceMaterialAccumulator:
[legend]

Classes

struct  Config
 Nested config struct. More...
struct  State
 Nested state struct. More...

Public Member Functions

 BinnedSurfaceMaterialAccumulator (const Config &cfg, std::unique_ptr< const Logger > mlogger=getDefaultLogger("BinnedSurfaceMaterialAccumulator", Logging::INFO))
 Constructor.
void accumulate (ISurfaceMaterialAccumulator::State &state, const GeometryContext &gctx, const std::vector< MaterialInteraction > &interactions, const std::vector< IAssignmentFinder::SurfaceAssignment > &surfacesWithoutAssignment) const override
 Accumulate the material interaction on the surface.
std::unique_ptr< ISurfaceMaterialAccumulator::StatecreateState (const GeometryContext &gctx) const override
 Factory for creating the state.
std::map< GeometryIdentifier, std::shared_ptr< const ISurfaceMaterial > > finalizeMaterial (ISurfaceMaterialAccumulator::State &state, const GeometryContext &gctx) const override
 Finalize the surface material maps.
Public Member Functions inherited from Acts::ISurfaceMaterialAccumulator
virtual ~ISurfaceMaterialAccumulator ()=default
 Virtual destructor.

Detailed Description

The binned surface material accumulator.

It consumes the assigned material interactions and then accumulates the material on the surfaces in prepared binned containers for averaging

Constructor & Destructor Documentation

◆ BinnedSurfaceMaterialAccumulator()

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

Constructor.

Parameters
cfgthe configuration struct
mloggerthe logger

Member Function Documentation

◆ accumulate()

void Acts::BinnedSurfaceMaterialAccumulator::accumulate ( ISurfaceMaterialAccumulator::State & state,
const GeometryContext & gctx,
const std::vector< MaterialInteraction > & interactions,
const std::vector< IAssignmentFinder::SurfaceAssignment > & surfacesWithoutAssignment ) const
overridevirtual

Accumulate the material interaction on the surface.

Parameters
stateis the state of the accumulator
gctxis the geometry context
interactionsis the material interactions, with assigned surfaces
surfacesWithoutAssignmentare the surfaces without assignment
Note
this the track average over the binned material

Implements Acts::ISurfaceMaterialAccumulator.

◆ createState()

std::unique_ptr< ISurfaceMaterialAccumulator::State > Acts::BinnedSurfaceMaterialAccumulator::createState ( const GeometryContext & gctx) const
overridevirtual

Factory for creating the state.

Parameters
gctxis the geometry context
Returns
Unique pointer to newly created accumulator state

Implements Acts::ISurfaceMaterialAccumulator.

◆ finalizeMaterial()

std::map< GeometryIdentifier, std::shared_ptr< const ISurfaceMaterial > > Acts::BinnedSurfaceMaterialAccumulator::finalizeMaterial ( ISurfaceMaterialAccumulator::State & state,
const GeometryContext & gctx ) const
overridevirtual

Finalize the surface material maps.

Parameters
statethe state of the accumulator
gctxis the geometry context
Note
this does the run average over the (binned) material
Returns
Map of surface materials indexed by geometry identifiers

Implements Acts::ISurfaceMaterialAccumulator.