Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::MaterialSlab Class Reference

#include <acts/blob/sPHENIX/Core/include/Acts/Material/MaterialSlab.hpp>

+ Collaboration diagram for Acts::MaterialSlab:

Public Member Functions

 MaterialSlab ()=default
 Construct vacuum without thickness.
 
 MaterialSlab (float thickness)
 Construct vacuum with thickness.
 
 MaterialSlab (const Material &material, float thickness)
 
 MaterialSlab (const std::vector< MaterialSlab > &layers)
 
 ~MaterialSlab ()=default
 
 MaterialSlab (MaterialSlab &&)=default
 
 MaterialSlab (const MaterialSlab &)=default
 
MaterialSlaboperator= (MaterialSlab &&)=default
 
MaterialSlaboperator= (const MaterialSlab &)=default
 
void scaleThickness (float scale)
 Scale the material thickness by the given factor.
 
constexpr operator bool () const
 Check if the material is valid, i.e. it is finite and not vacuum.
 
constexpr const Materialmaterial () const
 Access the (average) material parameters.
 
constexpr float thickness () const
 Return the thickness.
 
constexpr float thicknessInX0 () const
 Return the radiation length fraction.
 
constexpr float thicknessInL0 () const
 Return the nuclear interaction length fraction.
 

Private Attributes

Material m_material
 
float m_thickness = 0.0f
 
float m_thicknessInX0 = 0.0f
 
float m_thicknessInL0 = 0.0f
 

Friends

constexpr bool operator== (const MaterialSlab &lhs, const MaterialSlab &rhs)
 
constexpr bool operator!= (const MaterialSlab &lhs, const MaterialSlab &rhs)
 

Detailed Description

Material description for an object with defined thickness.

This is intended to describe concrete surface materials.

See Also
Material for a description of the available parameters.

Definition at line 25 of file MaterialSlab.hpp.

View newest version in sPHENIX GitHub at line 25 of file MaterialSlab.hpp

Constructor & Destructor Documentation

Acts::MaterialSlab::MaterialSlab ( )
default

Construct vacuum without thickness.

Acts::MaterialSlab::MaterialSlab ( float  thickness)

Construct vacuum with thickness.

Definition at line 19 of file MaterialSlab.cpp.

View newest version in sPHENIX GitHub at line 19 of file MaterialSlab.cpp

Acts::MaterialSlab::MaterialSlab ( const Material material,
float  thickness 
)

Construct from material description.

Parameters
materialis the material description
thicknessis the thickness of the material

Definition at line 21 of file MaterialSlab.cpp.

View newest version in sPHENIX GitHub at line 21 of file MaterialSlab.cpp

Acts::MaterialSlab::MaterialSlab ( const std::vector< MaterialSlab > &  layers)

Construct by averaging the material properties over multiple layers.

Parameters
layersInput layers to average over.

The resulting object has the combined thickness of all layers but just one set of appropriately averaged material constants.

Definition at line 31 of file MaterialSlab.cpp.

View newest version in sPHENIX GitHub at line 31 of file MaterialSlab.cpp

References Acts::detail::combineSlabs(), and layer.

+ Here is the call graph for this function:

Acts::MaterialSlab::~MaterialSlab ( )
default
Acts::MaterialSlab::MaterialSlab ( MaterialSlab &&  )
default
Acts::MaterialSlab::MaterialSlab ( const MaterialSlab )
default

Member Function Documentation

constexpr const Material& Acts::MaterialSlab::material ( ) const
inline

Access the (average) material parameters.

Definition at line 59 of file MaterialSlab.hpp.

View newest version in sPHENIX GitHub at line 59 of file MaterialSlab.hpp

References m_material.

Referenced by Acts::AccumulatedVolumeMaterial::average(), Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), Acts::detail::combineSlabs(), ActsFatras::detail::GeneralMixture::operator()(), ActsFatras::detail::GaussianMixture::operator()(), Acts::MaterialCollector::operator()(), Acts::operator<<(), Acts::to_json(), and Acts::AccumulatedMaterialSlab::trackVariance().

+ Here is the caller graph for this function:

constexpr Acts::MaterialSlab::operator bool ( ) const
inline

Check if the material is valid, i.e. it is finite and not vacuum.

Definition at line 54 of file MaterialSlab.hpp.

View newest version in sPHENIX GitHub at line 54 of file MaterialSlab.hpp

References f, m_material, and m_thickness.

MaterialSlab& Acts::MaterialSlab::operator= ( MaterialSlab &&  )
default
MaterialSlab& Acts::MaterialSlab::operator= ( const MaterialSlab )
default
void Acts::MaterialSlab::scaleThickness ( float  scale)
constexpr float Acts::MaterialSlab::thickness ( ) const
inline

Return the thickness.

Definition at line 61 of file MaterialSlab.hpp.

View newest version in sPHENIX GitHub at line 61 of file MaterialSlab.hpp

References m_thickness.

Referenced by BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::detail::combineSlabs(), Acts::VolumeMaterialMapper::createExtraHits(), Acts::MaterialCollector::operator()(), Acts::operator<<(), and Acts::to_json().

+ Here is the caller graph for this function:

constexpr float Acts::MaterialSlab::thicknessInL0 ( ) const
inline

Return the nuclear interaction length fraction.

Definition at line 65 of file MaterialSlab.hpp.

View newest version in sPHENIX GitHub at line 65 of file MaterialSlab.hpp

References m_thicknessInL0.

Referenced by BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::detail::combineSlabs(), ActsFatras::detail::SimulationActor< generator_t, decay_t, interactions_t, hit_surface_selector_t >::interact(), Acts::MaterialCollector::operator()(), and Acts::MaterialInteractor::recordResult().

+ Here is the caller graph for this function:

constexpr float Acts::MaterialSlab::thicknessInX0 ( ) const
inline

Return the radiation length fraction.

Definition at line 63 of file MaterialSlab.hpp.

View newest version in sPHENIX GitHub at line 63 of file MaterialSlab.hpp

References m_thicknessInX0.

Referenced by BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::detail::combineSlabs(), ActsFatras::detail::SimulationActor< generator_t, decay_t, interactions_t, hit_surface_selector_t >::interact(), ActsFatras::detail::GeneralMixture::operator()(), ActsFatras::detail::GaussianMixture::operator()(), ActsFatras::BetheHeitler::operator()(), Acts::MaterialCollector::operator()(), and Acts::MaterialInteractor::recordResult().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

constexpr bool operator!= ( const MaterialSlab lhs,
const MaterialSlab rhs 
)
friend

Definition at line 79 of file MaterialSlab.hpp.

View newest version in sPHENIX GitHub at line 79 of file MaterialSlab.hpp

constexpr bool operator== ( const MaterialSlab lhs,
const MaterialSlab rhs 
)
friend

Definition at line 73 of file MaterialSlab.hpp.

View newest version in sPHENIX GitHub at line 73 of file MaterialSlab.hpp

Member Data Documentation

Material Acts::MaterialSlab::m_material
private

Definition at line 68 of file MaterialSlab.hpp.

View newest version in sPHENIX GitHub at line 68 of file MaterialSlab.hpp

Referenced by material(), and operator bool().

float Acts::MaterialSlab::m_thickness = 0.0f
private

Definition at line 69 of file MaterialSlab.hpp.

View newest version in sPHENIX GitHub at line 69 of file MaterialSlab.hpp

Referenced by operator bool(), and thickness().

float Acts::MaterialSlab::m_thicknessInL0 = 0.0f
private

Definition at line 71 of file MaterialSlab.hpp.

View newest version in sPHENIX GitHub at line 71 of file MaterialSlab.hpp

Referenced by thicknessInL0().

float Acts::MaterialSlab::m_thicknessInX0 = 0.0f
private

Definition at line 70 of file MaterialSlab.hpp.

View newest version in sPHENIX GitHub at line 70 of file MaterialSlab.hpp

Referenced by thicknessInX0().


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