Class AccumulatedMaterialProperties

Class Documentation

class Acts::AccumulatedMaterialProperties

AccumulatedMaterialProperties.

This class uses the MaterialProperties class and adds the necessary information for the SurfaceMaterial Mapper.

There are two stores for material averaging:

  • the event store collects material steps accumulated during an event. Material can be assigned to the same bin multiple time by one particle, e.g. if the simulation had created more than one step in the material, or if several components are compressed into one description

  • the total store collects accumulated material properties of the run, at the end of a run, an average over the material information from all mapped events per bin is taken.

The averaging is always done to unit thickness

Public Functions

AccumulatedMaterialProperties() = default

Default constructor sets everything to zero.

AccumulatedMaterialProperties(const AccumulatedMaterialProperties &amp) = default

Default copy constructor.

Parameters
  • amp: the source Accumulated properties

AccumulatedMaterialProperties(AccumulatedMaterialProperties &&amp) = default

Default copy move constructor.

Parameters
  • amp: the source Accumulated properties

~AccumulatedMaterialProperties() = default

Default destructor sets.

void accumulate(const MaterialProperties &amp, double pathCorrection = 1.)

Accumulation operator.

this adds the material properties to event store

MaterialProperties accumulation is done as follows:

  • t/X0 and l/X0 are additive

  • rho is averaged by the total thickness per event

  • A,Z is averaged by the sum(rho*thickness) per event

Vacuum steps with step length different from zero are also used in order to count for holes in material structures

Parameters
  • amp: the source Accumulated properties

  • pathCorreciton: is the correction to nominal incident

AccumulatedMaterialProperties &operator=(const AccumulatedMaterialProperties &amp) = default

Default assignment operator.

Parameters
  • amp: the source Accumulated properties

AccumulatedMaterialProperties &operator=(AccumulatedMaterialProperties &&amp) = default

Default move assignment operator.

Parameters
  • amp: the source Accumulated properties

std::pair<MaterialProperties, unsigned int> totalAverage()

Average the information accumulated during the entire mapping process.

The total average takesthe full run into account

Return

the total avarage material properties and the total events used for mapping these properties The latter can be used when parallelising the mapping to several jobs

void trackAverage(bool emptyHit = false)

Average the information accumulated for one track.

  • in case of an empty hit this will just increase the event counter

    Parameters
    • emtpyHit: indicate an empty hit