EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/sPHENIX/Core/include/Acts/Material/Material.hpp>
Public Types | |
using | ParametersVector = Acts::ActsVectorF< 5 > |
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 38 of file Material.hpp.
View newest version in sPHENIX GitHub at line 38 of file Material.hpp
Definition at line 40 of file Material.hpp.
View newest version in sPHENIX GitHub at line 40 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 91 of file Material.hpp.
View newest version in sPHENIX GitHub at line 91 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
Referenced by BOOST_AUTO_TEST_CASE(), ActsExamples::Generic::buildDetector(), main(), ActsExamples::RootMaterialTrackReader::read(), ActsExamples::RootMaterialDecorator::RootMaterialDecorator(), and ActsExamples::SteppingAction::UserSteppingAction().
|
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, and 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 89 of file Material.hpp.
View newest version in sPHENIX GitHub at line 89 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
Referenced by BOOST_AUTO_TEST_CASE().
|
inline |
Return the molar density.
Definition at line 95 of file Material.hpp.
View newest version in sPHENIX GitHub at line 95 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 97 of file Material.hpp.
View newest version in sPHENIX GitHub at line 97 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 84 of file Material.hpp.
View newest version in sPHENIX GitHub at line 84 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().
|
inline |
Return the radition length. Infinity in case of vacuum.
Definition at line 87 of file Material.hpp.
View newest version in sPHENIX GitHub at line 87 of file Material.hpp
References m_x0.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and Acts::operator<<().
|
inline |
Return the nuclear charge number.
Definition at line 93 of file Material.hpp.
View newest version in sPHENIX GitHub at line 93 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 118 of file Material.hpp.
View newest version in sPHENIX GitHub at line 118 of file Material.hpp
Definition at line 113 of file Material.hpp.
View newest version in sPHENIX GitHub at line 113 of file Material.hpp
|
private |
Definition at line 109 of file Material.hpp.
View newest version in sPHENIX GitHub at line 109 of file Material.hpp
Referenced by Ar(), fromMolarDensity(), and operator bool().
|
private |
Definition at line 108 of file Material.hpp.
View newest version in sPHENIX GitHub at line 108 of file Material.hpp
Referenced by fromMolarDensity(), and L0().
|
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(), molarDensity(), and molarElectronDensity().
|
private |
Definition at line 107 of file Material.hpp.
View newest version in sPHENIX GitHub at line 107 of file Material.hpp
Referenced by fromMassDensity(), fromMolarDensity(), and X0().
|
private |
Definition at line 110 of file Material.hpp.
View newest version in sPHENIX GitHub at line 110 of file Material.hpp
Referenced by fromMolarDensity(), molarElectronDensity(), and Z().