ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Material/MaterialProperties.hpp>
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 | |
MaterialProperties & | operator= (MaterialProperties &&)=default |
MaterialProperties & | operator= (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 Material & | material () 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) |
Material description for an object with defined thickness.
This is intended to describe concrete surface materials.
Definition at line 23 of file MaterialProperties.hpp.
View newest version in sPHENIX GitHub at line 23 of file MaterialProperties.hpp
|
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.
X0 | is the radiation length |
L0 | is the nuclear interaction length |
Ar | is the relative atomic mass |
Z | is the atomic number |
rho | is the mass density |
thickness | is 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.
material | is the material description |
thickness | is 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.
layers | Input 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.
|
default |
|
default |
|
default |
|
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<<().
|
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.
|
default |
|
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()().
|
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<<().
|
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().
|
inline |
Return the radiation length fraction.
Definition at line 71 of file MaterialProperties.hpp.
View newest version in sPHENIX GitHub at line 71 of file MaterialProperties.hpp
References m_thicknessInX0.
Referenced by Acts::AccumulatedMaterialProperties::accumulate(), BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), MaterialProperties(), ActsFatras::PathLimitX0::operator()(), ActsFatras::BetheHeitler::operator()(), ActsFatras::detail::GeneralMixture::operator()(), ActsFatras::detail::GaussianMixture::operator()(), Acts::MaterialCollector::operator()(), ActsFatras::Interactor< generator_t, physics_list_t, hit_surface_selector_t >::operator()(), and Acts::MaterialInteractor::recordResult().
|
friend |
Definition at line 87 of file MaterialProperties.hpp.
View newest version in sPHENIX GitHub at line 87 of file MaterialProperties.hpp
|
friend |
Definition at line 81 of file MaterialProperties.hpp.
View newest version in sPHENIX GitHub at line 81 of file MaterialProperties.hpp
|
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().
|
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().
|
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().
|
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().