Analysis Software
Documentation for sPHENIX simulation software
|
Struct representing smallest grid unit in material grid. More...
#include <acts/blob/sPHENIX/Core/include/Acts/Material/InterpolatedMaterialMap.hpp>
Public Member Functions | |
MaterialCell (std::function< ActsVector< DIM_POS >(const Vector3 &)> transformPos, std::array< double, DIM_POS > lowerLeft, std::array< double, DIM_POS > upperRight, std::array< Material::ParametersVector, N > materialValues) | |
Default constructor. | |
Material | getMaterial (const Vector3 &position) const |
Retrieve material at given position. | |
bool | isInside (const Vector3 &position) const |
Check whether given 3D position is inside this cell. | |
Static Public Attributes | |
static constexpr unsigned int | N = 1 << DIM_POS |
Number of corner points defining the confining hyper-box. | |
Private Attributes | |
std::function< ActsVector < DIM_POS >const Vector3 &)> | m_transformPos |
Geometric transformation applied to global 3D positions. | |
std::array< double, DIM_POS > | m_lowerLeft |
Generalized lower-left corner of the confining hyper-box. | |
std::array< double, DIM_POS > | m_upperRight |
Generalized upper-right corner of the confining hyper-box. | |
std::array < Material::ParametersVector, N > | m_materialValues |
Material component vectors at the hyper-box corners. | |
Struct representing smallest grid unit in material grid.
This type encapsulate all required information to perform linear interpolation of material classification values within a 3D volume.
Definition at line 37 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 37 of file InterpolatedMaterialMap.hpp
|
inline |
Default constructor.
[in] | transformPos | Mapping of global 3D coordinates onto grid space |
[in] | lowerLeft | Generalized lower-left corner of hyper box (containing the minima of the hyper box along each Dimension) |
[in] | upperRight | Generalized upper-right corner of hyper box (containing the maxima of the hyper box along each Dimension) |
[in] | materialValues | Material classification values at the hyper box corners sorted in the canonical order defined in Acts::interpolate |
Definition at line 53 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 53 of file InterpolatedMaterialMap.hpp
|
inline |
Retrieve material at given position.
[in] | position | Global 3D position |
position
must lie within the current cell. Definition at line 69 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 69 of file InterpolatedMaterialMap.hpp
References Acts::interpolate(), Acts::MaterialMapper< G >::MaterialCell::m_lowerLeft, Acts::MaterialMapper< G >::MaterialCell::m_materialValues, Acts::MaterialMapper< G >::MaterialCell::m_transformPos, and Acts::MaterialMapper< G >::MaterialCell::m_upperRight.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Check whether given 3D position is inside this cell.
[in] | position | Global 3D position |
true
if position is inside the current cell, otherwise false
Definition at line 80 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 80 of file InterpolatedMaterialMap.hpp
References Acts::MaterialMapper< G >::DIM_POS, i, Acts::MaterialMapper< G >::MaterialCell::m_lowerLeft, Acts::MaterialMapper< G >::MaterialCell::m_transformPos, and Acts::MaterialMapper< G >::MaterialCell::m_upperRight.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
private |
Generalized lower-left corner of the confining hyper-box.
Definition at line 96 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 96 of file InterpolatedMaterialMap.hpp
Referenced by Acts::MaterialMapper< G >::MaterialCell::getMaterial(), and Acts::MaterialMapper< G >::MaterialCell::isInside().
|
private |
Material component vectors at the hyper-box corners.
Definition at line 105 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 105 of file InterpolatedMaterialMap.hpp
Referenced by Acts::MaterialMapper< G >::MaterialCell::getMaterial().
|
private |
Geometric transformation applied to global 3D positions.
Definition at line 93 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 93 of file InterpolatedMaterialMap.hpp
Referenced by Acts::MaterialMapper< G >::MaterialCell::getMaterial(), and Acts::MaterialMapper< G >::MaterialCell::isInside().
|
private |
Generalized upper-right corner of the confining hyper-box.
Definition at line 99 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 99 of file InterpolatedMaterialMap.hpp
Referenced by Acts::MaterialMapper< G >::MaterialCell::getMaterial(), and Acts::MaterialMapper< G >::MaterialCell::isInside().
|
static |
Number of corner points defining the confining hyper-box.
Definition at line 39 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 39 of file InterpolatedMaterialMap.hpp