Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Material/Material.hpp>
Public Types | |
using | ParametersVector = Eigen::Matrix< float, 5, 1 > |
Public Member Functions | |
Material ()=default | |
Construct a vacuum representation. | |
Material (const ParametersVector ¶meters) | |
Construct from an encoded parameters vector. | |
Material (Material &&mat)=default | |
Material (const Material &mat)=default | |
~Material ()=default | |
Material & | operator= (Material &&mat)=default |
Material & | operator= (const Material &mat)=default |
constexpr | operator bool () const |
Check if the material is valid, i.e. it is not vacuum. | |
constexpr float | X0 () const |
Return the radition length. Infinity in case of vacuum. | |
constexpr float | L0 () const |
Return the nuclear interaction length. Infinity in case of vacuum. | |
constexpr float | Ar () const |
Return the relative atomic mass. | |
constexpr float | Z () const |
Return the nuclear charge number. | |
constexpr float | molarDensity () const |
Return the molar density. | |
constexpr float | molarElectronDensity () const |
Return the molar electron density. | |
float | massDensity () const |
Return the mass density. | |
float | meanExcitationEnergy () const |
Return the mean electron excitation energy. | |
ParametersVector | parameters () const |
Encode the properties into an opaque parameters vector. | |
Static Public Member Functions | |
static Material | fromMolarDensity (float x0, float l0, float ar, float z, float molarRho) |
static Material | fromMassDensity (float x0, float l0, float ar, float z, float massRho) |
Private Attributes | |
float | m_x0 = std::numeric_limits<float>::infinity() |
float | m_l0 = std::numeric_limits<float>::infinity() |
float | m_ar = 0.0f |
float | m_z = 0.0f |
float | m_molarRho = 0.0f |
Friends | |
constexpr bool | operator== (const Material &lhs, const Material &rhs) |
constexpr bool | operator!= (const Material &lhs, const Material &rhs) |
Material description for interactions with matter.
The following parameters are used to specify the material and its interactions with traversing particles:
The parameters can be effective or average parameters e.g. when a mixture of materials is described.
ParametersVector
type and do not assume any particular size since we might consider to store more parameters in the future. Definition at line 39 of file Material.hpp.
View newest version in sPHENIX GitHub at line 39 of file Material.hpp
using Acts::Material::ParametersVector = Eigen::Matrix<float, 5, 1> |
Definition at line 41 of file Material.hpp.
View newest version in sPHENIX GitHub at line 41 of file Material.hpp
|
default |
Construct a vacuum representation.
Acts::Material::Material | ( | const ParametersVector & | parameters | ) |
Construct from an encoded parameters vector.
Definition at line 65 of file Material.cpp.
View newest version in sPHENIX GitHub at line 65 of file Material.cpp
|
default |
|
default |
|
default |
|
inline |
Return the relative atomic mass.
Definition at line 92 of file Material.hpp.
View newest version in sPHENIX GitHub at line 92 of file Material.hpp
References m_ar.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and Acts::operator<<().
|
static |
Construct from material parameters using the mass density.
x0 | is the radiation length |
l0 | is the nuclear interaction length |
ar | is the relative atomic mass |
z | is the nuclear charge number |
massRho | is the mass density |
Definition at line 29 of file Material.cpp.
View newest version in sPHENIX GitHub at line 29 of file Material.cpp
References m_x0, x0, and physmon_track_finding_ttbar::z.
Referenced by BOOST_AUTO_TEST_CASE(), ActsExamples::Generic::buildDetector(), main(), Acts::Geant4MaterialConverter::material(), Acts::TGeoMaterialConverter::materialSlab(), ActsExamples::RootMaterialTrackReader::read(), ActsExamples::MaterialSteppingAction::UserSteppingAction(), and while().
|
static |
Construct from material parameters using the molar density.
x0 | is the radiation length |
l0 | is the nuclear interaction length |
ar | is the relative atomic mass |
z | is the nuclear charge number |
molarRho | is the molar density |
Definition at line 54 of file Material.cpp.
View newest version in sPHENIX GitHub at line 54 of file Material.cpp
References m_ar, m_l0, m_molarRho, m_x0, m_z, x0, and physmon_track_finding_ttbar::z.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_DATA_TEST_CASE(), Acts::Test::makeBeryllium(), Acts::Test::makeSilicon(), and Acts::Test::makeUnitSlab().
|
inline |
Return the nuclear interaction length. Infinity in case of vacuum.
Definition at line 90 of file Material.hpp.
View newest version in sPHENIX GitHub at line 90 of file Material.hpp
References m_l0.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and Acts::operator<<().
float Acts::Material::massDensity | ( | ) | const |
Return the mass density.
Definition at line 72 of file Material.cpp.
View newest version in sPHENIX GitHub at line 72 of file Material.cpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().
float Acts::Material::meanExcitationEnergy | ( | ) | const |
Return the mean electron excitation energy.
Definition at line 81 of file Material.cpp.
View newest version in sPHENIX GitHub at line 81 of file Material.cpp
References f.
Referenced by BOOST_AUTO_TEST_CASE().
|
inline |
Return the molar density.
Definition at line 96 of file Material.hpp.
View newest version in sPHENIX GitHub at line 96 of file Material.hpp
References m_molarRho.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and Acts::operator<<().
|
inline |
Return the molar electron density.
Definition at line 98 of file Material.hpp.
View newest version in sPHENIX GitHub at line 98 of file Material.hpp
References m_molarRho, and m_z.
Referenced by BOOST_AUTO_TEST_CASE().
|
inline |
Check if the material is valid, i.e. it is not vacuum.
Definition at line 85 of file Material.hpp.
View newest version in sPHENIX GitHub at line 85 of file Material.hpp
References m_ar.
Acts::Material::ParametersVector Acts::Material::parameters | ( | ) | const |
Encode the properties into an opaque parameters vector.
Definition at line 88 of file Material.cpp.
View newest version in sPHENIX GitHub at line 88 of file Material.cpp
References Dataset::parameters.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::to_json(), and while().
|
inline |
Return the radition length. Infinity in case of vacuum.
Definition at line 88 of file Material.hpp.
View newest version in sPHENIX GitHub at line 88 of file Material.hpp
References m_x0.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), Acts::operator<<(), and Acts::AccumulatedMaterialSlab::trackVariance().
|
inline |
Return the nuclear charge number.
Definition at line 94 of file Material.hpp.
View newest version in sPHENIX GitHub at line 94 of file Material.hpp
References m_z.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), ActsFatras::detail::GaussianMixture::operator()(), ActsFatras::detail::GeneralMixture::operator()(), and Acts::operator<<().
Definition at line 119 of file Material.hpp.
View newest version in sPHENIX GitHub at line 119 of file Material.hpp
Definition at line 114 of file Material.hpp.
View newest version in sPHENIX GitHub at line 114 of file Material.hpp
|
private |
Definition at line 110 of file Material.hpp.
View newest version in sPHENIX GitHub at line 110 of file Material.hpp
Referenced by Ar(), fromMolarDensity(), and operator bool().
|
private |
Definition at line 109 of file Material.hpp.
View newest version in sPHENIX GitHub at line 109 of file Material.hpp
Referenced by fromMolarDensity(), and L0().
|
private |
Definition at line 112 of file Material.hpp.
View newest version in sPHENIX GitHub at line 112 of file Material.hpp
Referenced by fromMolarDensity(), molarDensity(), and molarElectronDensity().
|
private |
Definition at line 108 of file Material.hpp.
View newest version in sPHENIX GitHub at line 108 of file Material.hpp
Referenced by fromMassDensity(), fromMolarDensity(), and X0().
|
private |
Definition at line 111 of file Material.hpp.
View newest version in sPHENIX GitHub at line 111 of file Material.hpp
Referenced by fromMolarDensity(), molarElectronDensity(), and Z().