Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Material/MaterialSlab.hpp>
Public Member Functions | |
MaterialSlab ()=default | |
Construct vacuum without thickness. | |
MaterialSlab (float thickness) | |
Construct vacuum with thickness. | |
MaterialSlab (const Material &material, float thickness) | |
MaterialSlab (const std::vector< MaterialSlab > &layers) | |
~MaterialSlab ()=default | |
MaterialSlab (MaterialSlab &&)=default | |
MaterialSlab (const MaterialSlab &)=default | |
MaterialSlab & | operator= (MaterialSlab &&)=default |
MaterialSlab & | operator= (const MaterialSlab &)=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 MaterialSlab &lhs, const MaterialSlab &rhs) |
constexpr bool | operator!= (const MaterialSlab &lhs, const MaterialSlab &rhs) |
Material description for an object with defined thickness.
This is intended to describe concrete surface materials.
Definition at line 25 of file MaterialSlab.hpp.
View newest version in sPHENIX GitHub at line 25 of file MaterialSlab.hpp
|
default |
Construct vacuum without thickness.
Acts::MaterialSlab::MaterialSlab | ( | float | thickness | ) |
Construct vacuum with thickness.
Definition at line 19 of file MaterialSlab.cpp.
View newest version in sPHENIX GitHub at line 19 of file MaterialSlab.cpp
Acts::MaterialSlab::MaterialSlab | ( | const Material & | material, |
float | thickness | ||
) |
Construct from material description.
material | is the material description |
thickness | is the thickness of the material |
Definition at line 21 of file MaterialSlab.cpp.
View newest version in sPHENIX GitHub at line 21 of file MaterialSlab.cpp
Acts::MaterialSlab::MaterialSlab | ( | const std::vector< MaterialSlab > & | 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 31 of file MaterialSlab.cpp.
View newest version in sPHENIX GitHub at line 31 of file MaterialSlab.cpp
References Acts::detail::combineSlabs(), and layer.
|
default |
|
default |
|
default |
|
inline |
Access the (average) material parameters.
Definition at line 59 of file MaterialSlab.hpp.
View newest version in sPHENIX GitHub at line 59 of file MaterialSlab.hpp
References m_material.
Referenced by Acts::AccumulatedVolumeMaterial::average(), Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), Acts::detail::combineSlabs(), ActsFatras::detail::GeneralMixture::operator()(), ActsFatras::detail::GaussianMixture::operator()(), Acts::MaterialCollector::operator()(), Acts::operator<<(), Acts::to_json(), and Acts::AccumulatedMaterialSlab::trackVariance().
|
inline |
Check if the material is valid, i.e. it is finite and not vacuum.
Definition at line 54 of file MaterialSlab.hpp.
View newest version in sPHENIX GitHub at line 54 of file MaterialSlab.hpp
References f, m_material, and m_thickness.
|
default |
|
default |
void Acts::MaterialSlab::scaleThickness | ( | float | scale | ) |
Scale the material thickness by the given factor.
Definition at line 46 of file MaterialSlab.cpp.
View newest version in sPHENIX GitHub at line 46 of file MaterialSlab.cpp
Referenced by Acts::AccumulatedMaterialSlab::accumulate(), Acts::Test::BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), Acts::VolumeMaterialMapper::createExtraHits(), Acts::detail::PointwiseMaterialInteraction::evaluateMaterialSlab(), ActsFatras::detail::SimulationActor< generator_t, decay_t, interactions_t, hit_surface_selector_t >::interact(), Acts::ISurfaceMaterial::materialSlab(), and ActsFatras::detail::SimulationActor< generator_t, decay_t, interactions_t, hit_surface_selector_t >::operator()().
|
inline |
Return the thickness.
Definition at line 61 of file MaterialSlab.hpp.
View newest version in sPHENIX GitHub at line 61 of file MaterialSlab.hpp
References m_thickness.
Referenced by BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::detail::combineSlabs(), Acts::VolumeMaterialMapper::createExtraHits(), Acts::MaterialCollector::operator()(), Acts::operator<<(), and Acts::to_json().
|
inline |
Return the nuclear interaction length fraction.
Definition at line 65 of file MaterialSlab.hpp.
View newest version in sPHENIX GitHub at line 65 of file MaterialSlab.hpp
References m_thicknessInL0.
Referenced by BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::detail::combineSlabs(), ActsFatras::detail::SimulationActor< generator_t, decay_t, interactions_t, hit_surface_selector_t >::interact(), Acts::MaterialCollector::operator()(), and Acts::MaterialInteractor::recordResult().
|
inline |
Return the radiation length fraction.
Definition at line 63 of file MaterialSlab.hpp.
View newest version in sPHENIX GitHub at line 63 of file MaterialSlab.hpp
References m_thicknessInX0.
Referenced by BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::detail::combineSlabs(), ActsFatras::detail::SimulationActor< generator_t, decay_t, interactions_t, hit_surface_selector_t >::interact(), ActsFatras::detail::GeneralMixture::operator()(), ActsFatras::detail::GaussianMixture::operator()(), ActsFatras::BetheHeitler::operator()(), Acts::MaterialCollector::operator()(), and Acts::MaterialInteractor::recordResult().
|
friend |
Definition at line 79 of file MaterialSlab.hpp.
View newest version in sPHENIX GitHub at line 79 of file MaterialSlab.hpp
|
friend |
Definition at line 73 of file MaterialSlab.hpp.
View newest version in sPHENIX GitHub at line 73 of file MaterialSlab.hpp
|
private |
Definition at line 68 of file MaterialSlab.hpp.
View newest version in sPHENIX GitHub at line 68 of file MaterialSlab.hpp
Referenced by material(), and operator bool().
|
private |
Definition at line 69 of file MaterialSlab.hpp.
View newest version in sPHENIX GitHub at line 69 of file MaterialSlab.hpp
Referenced by operator bool(), and thickness().
|
private |
Definition at line 71 of file MaterialSlab.hpp.
View newest version in sPHENIX GitHub at line 71 of file MaterialSlab.hpp
Referenced by thicknessInL0().
|
private |
Definition at line 70 of file MaterialSlab.hpp.
View newest version in sPHENIX GitHub at line 70 of file MaterialSlab.hpp
Referenced by thicknessInX0().