ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::AccumulatedMaterialProperties Class Reference

AccumulatedMaterialProperties. More...

#include <acts/blob/master/Core/include/Acts/Material/AccumulatedMaterialProperties.hpp>

Public Member Functions

 AccumulatedMaterialProperties ()=default
 Default constructor sets everything to zero.
 
 ~AccumulatedMaterialProperties ()=default
 Default destructor sets.
 
 AccumulatedMaterialProperties (const AccumulatedMaterialProperties &amp)=default
 
 AccumulatedMaterialProperties (AccumulatedMaterialProperties &&amp)=default
 
AccumulatedMaterialPropertiesoperator= (const AccumulatedMaterialProperties &amp)=default
 
AccumulatedMaterialPropertiesoperator= (AccumulatedMaterialProperties &&amp)=default
 
void accumulate (const MaterialProperties &amp, double pathCorrection=1.)
 this adds the material properties to event store
 
void trackAverage (bool emptyHit=false)
 
std::pair< MaterialProperties,
unsigned int
totalAverage ()
 

Private Attributes

double m_eventPathInX0 {0.}
 event: accumulate the thickness in X0
 
double m_eventPathInL0 {0.}
 event: accumulate the thickness in L0
 
double m_eventAr {0.}
 event: accumulate the contribution to A
 
double m_eventZ {0.}
 event: accumulate the contribution to Z
 
double m_eventRho {0.}
 event: accumulate the contribution to rho
 
double m_eventPath {0.}
 event: the event path for normalisation
 
double m_eventPathCorrection {0.}
 event: remember the path correction
 
double m_totalPathInX0 {0.}
 total: accumulate the thickness in X0
 
double m_totalPathInL0 {0.}
 total: accumulate the thickness in L0
 
double m_totalAr {0.}
 total: accumulate the contribution to A
 
double m_totalZ {0.}
 total: accumulate the contribution to Z
 
double m_totalRho {0.}
 total: accumulate the contribution to rho
 
unsigned int m_totalEvents {0}
 the number of events
 

Detailed Description

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

Definition at line 34 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 34 of file AccumulatedMaterialProperties.hpp

Constructor & Destructor Documentation

Acts::AccumulatedMaterialProperties::AccumulatedMaterialProperties ( )
default

Default constructor sets everything to zero.

Acts::AccumulatedMaterialProperties::~AccumulatedMaterialProperties ( )
default

Default destructor sets.

Acts::AccumulatedMaterialProperties::AccumulatedMaterialProperties ( const AccumulatedMaterialProperties amp)
default

Default copy constructor

Parameters
ampthe source Accumulated properties
Acts::AccumulatedMaterialProperties::AccumulatedMaterialProperties ( AccumulatedMaterialProperties &&  amp)
default

Default copy move constructor

Parameters
ampthe source Accumulated properties

Member Function Documentation

void Acts::AccumulatedMaterialProperties::accumulate ( const MaterialProperties amp,
double  pathCorrection = 1. 
)
inline

this adds the material properties to event store

Accumulation operator 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
ampthe source Accumulated properties
pathCorrecitonis the correction to nominal incident

Definition at line 111 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 111 of file AccumulatedMaterialProperties.hpp

References Acts::Material::Ar(), m_eventAr, m_eventPath, m_eventPathCorrection, m_eventPathInL0, m_eventPathInX0, m_eventRho, m_eventZ, Acts::Material::massDensity(), Acts::MaterialProperties::material(), r, t, Acts::MaterialProperties::thickness(), Acts::MaterialProperties::thicknessInL0(), Acts::MaterialProperties::thicknessInX0(), and Acts::Material::Z().

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Default assignment operator

Parameters
ampthe source Accumulated properties
AccumulatedMaterialProperties& Acts::AccumulatedMaterialProperties::operator= ( AccumulatedMaterialProperties &&  amp)
default

Default move assignment operator

Parameters
ampthe source Accumulated properties
std::pair< MaterialProperties, unsigned int > Acts::AccumulatedMaterialProperties::totalAverage ( )
inline

Average the information accumulated during the entire mapping process

The total average takesthe full run into account

Returns
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

Definition at line 151 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 151 of file AccumulatedMaterialProperties.hpp

References m_totalAr, m_totalEvents, m_totalPathInL0, m_totalPathInX0, m_totalRho, and m_totalZ.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

void Acts::AccumulatedMaterialProperties::trackAverage ( bool  emptyHit = false)
inline

Average the information accumulated for one track

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

Definition at line 126 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 126 of file AccumulatedMaterialProperties.hpp

References m_eventAr, m_eventPath, m_eventPathCorrection, m_eventPathInL0, m_eventPathInX0, m_eventRho, m_eventZ, m_totalAr, m_totalEvents, m_totalPathInL0, m_totalPathInX0, m_totalRho, and m_totalZ.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

Member Data Documentation

double Acts::AccumulatedMaterialProperties::m_eventAr {0.}
private

event: accumulate the contribution to A

Definition at line 96 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 96 of file AccumulatedMaterialProperties.hpp

Referenced by accumulate(), and trackAverage().

double Acts::AccumulatedMaterialProperties::m_eventPath {0.}
private

event: the event path for normalisation

Definition at line 99 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 99 of file AccumulatedMaterialProperties.hpp

Referenced by accumulate(), and trackAverage().

double Acts::AccumulatedMaterialProperties::m_eventPathCorrection {0.}
private

event: remember the path correction

Definition at line 100 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 100 of file AccumulatedMaterialProperties.hpp

Referenced by accumulate(), and trackAverage().

double Acts::AccumulatedMaterialProperties::m_eventPathInL0 {0.}
private

event: accumulate the thickness in L0

Definition at line 95 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 95 of file AccumulatedMaterialProperties.hpp

Referenced by accumulate(), and trackAverage().

double Acts::AccumulatedMaterialProperties::m_eventPathInX0 {0.}
private

event: accumulate the thickness in X0

Definition at line 94 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 94 of file AccumulatedMaterialProperties.hpp

Referenced by accumulate(), and trackAverage().

double Acts::AccumulatedMaterialProperties::m_eventRho {0.}
private

event: accumulate the contribution to rho

Definition at line 98 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 98 of file AccumulatedMaterialProperties.hpp

Referenced by accumulate(), and trackAverage().

double Acts::AccumulatedMaterialProperties::m_eventZ {0.}
private

event: accumulate the contribution to Z

Definition at line 97 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 97 of file AccumulatedMaterialProperties.hpp

Referenced by accumulate(), and trackAverage().

double Acts::AccumulatedMaterialProperties::m_totalAr {0.}
private

total: accumulate the contribution to A

Definition at line 104 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 104 of file AccumulatedMaterialProperties.hpp

Referenced by totalAverage(), and trackAverage().

unsigned int Acts::AccumulatedMaterialProperties::m_totalEvents {0}
private

the number of events

Definition at line 108 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 108 of file AccumulatedMaterialProperties.hpp

Referenced by totalAverage(), and trackAverage().

double Acts::AccumulatedMaterialProperties::m_totalPathInL0 {0.}
private

total: accumulate the thickness in L0

Definition at line 103 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 103 of file AccumulatedMaterialProperties.hpp

Referenced by totalAverage(), and trackAverage().

double Acts::AccumulatedMaterialProperties::m_totalPathInX0 {0.}
private

total: accumulate the thickness in X0

Definition at line 102 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 102 of file AccumulatedMaterialProperties.hpp

Referenced by totalAverage(), and trackAverage().

double Acts::AccumulatedMaterialProperties::m_totalRho {0.}
private

total: accumulate the contribution to rho

Definition at line 106 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 106 of file AccumulatedMaterialProperties.hpp

Referenced by totalAverage(), and trackAverage().

double Acts::AccumulatedMaterialProperties::m_totalZ {0.}
private

total: accumulate the contribution to Z

Definition at line 105 of file AccumulatedMaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 105 of file AccumulatedMaterialProperties.hpp

Referenced by totalAverage(), and trackAverage().


The documentation for this class was generated from the following file: