ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Material/Material.hpp>
Public Types | |
enum | Param { eX0 = 0, eL0 = 1, eAr = 2, eZ = 3, eRho = 4 } |
Index of the parameters in the encoded parameters vector. More... | |
Public Member Functions | |
Material ()=default | |
Construct a vacuum representation. | |
constexpr | Material (float X0_, float L0_, float Ar_, float Z_, float rho_) |
Material (const ActsVectorF< 5 > ¶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 atomic number. | |
constexpr float | massDensity () const |
Return the mass density. | |
float | molarElectronDensity () const |
float | meanExcitationEnergy () const |
Return the mean electron excitation energy. | |
ActsVectorF< 5 > | classificationNumbers () const |
Encode the properties into a parameter vector. | |
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_rho = 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 when e.g. a mixture of materials is described.
Definition at line 31 of file Material.hpp.
View newest version in sPHENIX GitHub at line 31 of file Material.hpp
Index of the parameters in the encoded parameters vector.
Definition at line 34 of file Material.hpp.
View newest version in sPHENIX GitHub at line 34 of file Material.hpp
|
default |
Construct a vacuum representation.
|
inline |
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 |
Definition at line 51 of file Material.hpp.
View newest version in sPHENIX GitHub at line 51 of file Material.hpp
Acts::Material::Material | ( | const ActsVectorF< 5 > & | parameters | ) |
Construct from an encoded parameters vector.
Definition at line 16 of file Material.cpp.
View newest version in sPHENIX GitHub at line 16 of file Material.cpp
|
default |
|
default |
|
default |
|
inline |
Return the relative atomic mass.
Definition at line 70 of file Material.hpp.
View newest version in sPHENIX GitHub at line 70 of file Material.hpp
References m_ar.
Referenced by Acts::AccumulatedVolumeMaterial::accumulate(), Acts::AccumulatedMaterialProperties::accumulate(), Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), makeSiClassificationNumbers(), and Acts::operator<<().
Acts::ActsVectorF< 5 > Acts::Material::classificationNumbers | ( | ) | const |
Encode the properties into a parameter vector.
Definition at line 52 of file Material.cpp.
View newest version in sPHENIX GitHub at line 52 of file Material.cpp
References Acts::eZ, and Dataset::parameters.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and Acts::JsonGeometryConverter::jsonToVolumeMaterial().
|
inline |
Return the nuclear interaction length. Infinity in case of vacuum.
Definition at line 68 of file Material.hpp.
View newest version in sPHENIX GitHub at line 68 of file Material.hpp
References m_l0.
Referenced by Acts::AccumulatedVolumeMaterial::accumulate(), Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), makeSiClassificationNumbers(), and Acts::operator<<().
|
inline |
Return the mass density.
Definition at line 74 of file Material.hpp.
View newest version in sPHENIX GitHub at line 74 of file Material.hpp
References m_rho.
Referenced by Acts::AccumulatedVolumeMaterial::accumulate(), Acts::AccumulatedMaterialProperties::accumulate(), BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), makeSiClassificationNumbers(), and Acts::operator<<().
float Acts::Material::meanExcitationEnergy | ( | ) | const |
Return the mean electron excitation energy.
Definition at line 45 of file Material.cpp.
View newest version in sPHENIX GitHub at line 45 of file Material.cpp
References Acts::units::_eV, and f.
Referenced by BOOST_AUTO_TEST_CASE().
float Acts::Material::molarElectronDensity | ( | ) | const |
Return the electron density in mol / (native length unit)³.
Use mol instead of the real number of electrons to avoid large numbers which could result in numerical instabilities somewhere else.
Definition at line 20 of file Material.cpp.
View newest version in sPHENIX GitHub at line 20 of file Material.cpp
Referenced by BOOST_AUTO_TEST_CASE().
|
inline |
Check if the material is valid, i.e. it is not vacuum.
Definition at line 63 of file Material.hpp.
View newest version in sPHENIX GitHub at line 63 of file Material.hpp
References m_ar.
|
inline |
Return the radition length. Infinity in case of vacuum.
Definition at line 66 of file Material.hpp.
View newest version in sPHENIX GitHub at line 66 of file Material.hpp
References m_x0.
Referenced by Acts::AccumulatedVolumeMaterial::accumulate(), Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), makeSiClassificationNumbers(), and Acts::operator<<().
|
inline |
Return the atomic number.
Definition at line 72 of file Material.hpp.
View newest version in sPHENIX GitHub at line 72 of file Material.hpp
References m_z.
Referenced by Acts::AccumulatedVolumeMaterial::accumulate(), Acts::AccumulatedMaterialProperties::accumulate(), Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), makeSiClassificationNumbers(), ActsFatras::detail::GaussianMixture::operator()(), ActsFatras::detail::GeneralMixture::operator()(), and Acts::operator<<().
Definition at line 98 of file Material.hpp.
View newest version in sPHENIX GitHub at line 98 of file Material.hpp
Definition at line 93 of file Material.hpp.
View newest version in sPHENIX GitHub at line 93 of file Material.hpp
|
private |
Definition at line 89 of file Material.hpp.
View newest version in sPHENIX GitHub at line 89 of file Material.hpp
Referenced by Ar(), and operator bool().
|
private |
Definition at line 88 of file Material.hpp.
View newest version in sPHENIX GitHub at line 88 of file Material.hpp
Referenced by L0().
|
private |
Definition at line 91 of file Material.hpp.
View newest version in sPHENIX GitHub at line 91 of file Material.hpp
Referenced by massDensity().
|
private |
Definition at line 87 of file Material.hpp.
View newest version in sPHENIX GitHub at line 87 of file Material.hpp
Referenced by X0().
|
private |
Definition at line 90 of file Material.hpp.
View newest version in sPHENIX GitHub at line 90 of file Material.hpp
Referenced by Z().