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

The binned surface material accumulater. More...

#include <Acts/Material/BinnedSurfaceMaterialAccumulater.hpp>

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

Classes

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

Public Member Functions

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

Detailed Description

The binned surface material accumulater.

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

Constructor & Destructor Documentation

◆ BinnedSurfaceMaterialAccumulater()

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

Constructor.

Parameters
cfgthe configuration struct
mloggerthe logger

Member Function Documentation

◆ accumulate()

void Acts::BinnedSurfaceMaterialAccumulater::accumulate ( ISurfaceMaterialAccumulater::State & state,
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 accumulater
interactionsis the material interactions, with assigned surfaces
surfacesWithoutAssignmentare the surfaces without assignment
Note
this the track average over the binned material

Implements Acts::ISurfaceMaterialAccumulater.

◆ createState()

std::unique_ptr< ISurfaceMaterialAccumulater::State > Acts::BinnedSurfaceMaterialAccumulater::createState ( ) const
overridevirtual

Factory for creating the state.

Returns
Unique pointer to newly created accumulator state

Implements Acts::ISurfaceMaterialAccumulater.

◆ finalizeMaterial()

std::map< GeometryIdentifier, std::shared_ptr< const ISurfaceMaterial > > Acts::BinnedSurfaceMaterialAccumulater::finalizeMaterial ( ISurfaceMaterialAccumulater::State & state) const
overridevirtual

Finalize the surface material maps.

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

Implements Acts::ISurfaceMaterialAccumulater.