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

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

+ Collaboration diagram for Acts::MaterialProperties:

Public Member Functions

 MaterialProperties ()=default
 Construct vacuum without thickness.
 
 MaterialProperties (float thickness)
 Construct vacuum with thickness.
 
 MaterialProperties (float X0, float L0, float Ar, float Z, float rho, float thickness)
 
 MaterialProperties (const Material &material, float thickness)
 
 MaterialProperties (const std::vector< MaterialProperties > &layers)
 
 ~MaterialProperties ()=default
 
 MaterialProperties (MaterialProperties &&mprop)=default
 
 MaterialProperties (const MaterialProperties &)=default
 
MaterialPropertiesoperator= (MaterialProperties &&)=default
 
MaterialPropertiesoperator= (const MaterialProperties &)=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 MaterialProperties &lhs, const MaterialProperties &rhs)
 
constexpr bool operator!= (const MaterialProperties &lhs, const MaterialProperties &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 23 of file MaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 23 of file MaterialProperties.hpp

Constructor & Destructor Documentation

Acts::MaterialProperties::MaterialProperties ( )
default

Construct vacuum without thickness.

Acts::MaterialProperties::MaterialProperties ( float  thickness)

Construct vacuum with thickness.

Definition at line 17 of file MaterialProperties.cpp.

View newest version in sPHENIX GitHub at line 17 of file MaterialProperties.cpp

Acts::MaterialProperties::MaterialProperties ( float  X0,
float  L0,
float  Ar,
float  Z,
float  rho,
float  thickness 
)

Construct from material parameters.

Parameters
X0is the radiation length
L0is the nuclear interaction length
Aris the relative atomic mass
Zis the atomic number
rhois the mass density
thicknessis the thickness of the material

Definition at line 20 of file MaterialProperties.cpp.

View newest version in sPHENIX GitHub at line 20 of file MaterialProperties.cpp

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

Construct from material description.

Parameters
materialis the material description
thicknessis the thickness of the material

Definition at line 28 of file MaterialProperties.cpp.

View newest version in sPHENIX GitHub at line 28 of file MaterialProperties.cpp

Acts::MaterialProperties::MaterialProperties ( const std::vector< MaterialProperties > &  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 36 of file MaterialProperties.cpp.

View newest version in sPHENIX GitHub at line 36 of file MaterialProperties.cpp

References G4TTL::layer, m_material, m_thickness, m_thicknessInL0, m_thicknessInX0, mat, thickness(), thicknessInL0(), thicknessInX0(), weight, and Z.

+ Here is the call graph for this function:

Acts::MaterialProperties::~MaterialProperties ( )
default
Acts::MaterialProperties::MaterialProperties ( MaterialProperties &&  mprop)
default
Acts::MaterialProperties::MaterialProperties ( const MaterialProperties )
default

Member Function Documentation

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

Access the (average) material parameters.

Definition at line 67 of file MaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 67 of file MaterialProperties.hpp

References m_material.

Referenced by Acts::AccumulatedVolumeMaterial::accumulate(), Acts::AccumulatedMaterialProperties::accumulate(), BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), ActsFatras::detail::GaussianMixture::operator()(), ActsFatras::detail::GeneralMixture::operator()(), Acts::MaterialCollector::operator()(), and Acts::operator<<().

+ Here is the caller graph for this function:

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

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

Definition at line 62 of file MaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 62 of file MaterialProperties.hpp

References f, m_material, and m_thickness.

MaterialProperties& Acts::MaterialProperties::operator= ( MaterialProperties &&  )
default
MaterialProperties& Acts::MaterialProperties::operator= ( const MaterialProperties )
default
void Acts::MaterialProperties::scaleThickness ( float  scale)

Scale the material thickness by the given factor.

Definition at line 74 of file MaterialProperties.cpp.

View newest version in sPHENIX GitHub at line 74 of file MaterialProperties.cpp

References scale.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), Acts::detail::PointwiseMaterialInteraction::evaluateMaterialProperties(), Acts::ISurfaceMaterial::materialProperties(), and ActsFatras::Interactor< generator_t, physics_list_t, hit_surface_selector_t >::operator()().

+ Here is the caller graph for this function:

constexpr float Acts::MaterialProperties::thickness ( ) const
inline

Return the thickness.

Definition at line 69 of file MaterialProperties.hpp.

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

References m_thickness.

Referenced by Acts::AccumulatedVolumeMaterial::accumulate(), Acts::AccumulatedMaterialProperties::accumulate(), BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), MaterialProperties(), Acts::MaterialCollector::operator()(), and Acts::operator<<().

+ Here is the caller graph for this function:

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

Return the nuclear interaction length fraction.

Definition at line 73 of file MaterialProperties.hpp.

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

References m_thicknessInL0.

Referenced by Acts::AccumulatedMaterialProperties::accumulate(), BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), MaterialProperties(), ActsFatras::PathLimitL0::operator()(), Acts::MaterialCollector::operator()(), ActsFatras::Interactor< generator_t, physics_list_t, hit_surface_selector_t >::operator()(), and Acts::MaterialInteractor::recordResult().

+ Here is the caller graph for this function:

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

Friends And Related Function Documentation

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

Definition at line 87 of file MaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 87 of file MaterialProperties.hpp

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

Definition at line 81 of file MaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 81 of file MaterialProperties.hpp

Member Data Documentation

Material Acts::MaterialProperties::m_material
private

Definition at line 76 of file MaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 76 of file MaterialProperties.hpp

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

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

Definition at line 77 of file MaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 77 of file MaterialProperties.hpp

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

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

Definition at line 79 of file MaterialProperties.hpp.

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

Referenced by MaterialProperties(), and thicknessInL0().

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

Definition at line 78 of file MaterialProperties.hpp.

View newest version in sPHENIX GitHub at line 78 of file MaterialProperties.hpp

Referenced by MaterialProperties(), and thicknessInX0().


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