EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
Interpolate material classification values from material values on a given grid. More...
#include <acts/blob/sPHENIX/Core/include/Acts/Material/InterpolatedMaterialMap.hpp>
Classes | |
struct | Cache |
Temporary storage of a certain cell to improve material access. More... | |
Public Member Functions | |
InterpolatedMaterialMap (Mapper_t &&mapper) | |
Create interpolated map. | |
InterpolatedMaterialMap (Mapper_t &&mapper, BinUtility bu) | |
Create interpolated map. | |
const Material | material (const Vector3D &position) const |
Retrieve the binned material. | |
Material | getMaterial (const Vector3D &position) const |
Retrieve the interpolated material. | |
Material | getMaterial (const Vector3D &position, Cache &cache) const |
Retrieve material. | |
Material | getMaterialGradient (const Vector3D &position, ActsMatrixD< 5, 5 > &) const |
Retrieve material value & its "gradient". | |
Material | getMaterialGradient (const Vector3D &position, ActsMatrixD< 5, 5 > &, Cache &) const |
Retrieve material value & its "gradient". | |
const Mapper_t & | getMapper () const |
Convenience method to access underlying material mapper. | |
bool | isInside (const Vector3D &position) const |
Check whether given 3D position is inside look-up domain. | |
const BinUtility & | binUtility () const |
Return the BinUtility. | |
std::ostream & | toStream (std::ostream &sl) const |
Public Member Functions inherited from Acts::IVolumeMaterial | |
virtual | ~IVolumeMaterial ()=default |
Virtual Destructor. | |
Private Member Functions | |
Mapper_t::MaterialCell | getMaterialCell (const Vector3D &position) const |
Retrieve cell for given position. | |
Private Attributes | |
Mapper_t | m_mapper |
object for global coordinate transformation and interpolation | |
BinUtility | m_binUtility {} |
Interpolate material classification values from material values on a given grid.
This class implements a material service which is initialized by a material map defined by:
The material value for a given global position is then determined by:
G | Type of the grid |
Definition at line 237 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 237 of file InterpolatedMaterialMap.hpp
|
inline |
Create interpolated map.
[in] | mapper | Material map |
Definition at line 250 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 250 of file InterpolatedMaterialMap.hpp
|
inline |
Create interpolated map.
[in] | mapper | Material map |
[in] | BinUtility |
Definition at line 256 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 256 of file InterpolatedMaterialMap.hpp
|
inline |
Return the BinUtility.
Definition at line 335 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 335 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::m_binUtility.
|
inline |
Convenience method to access underlying material mapper.
Definition at line 324 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 324 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::m_mapper.
|
inline |
Retrieve the interpolated material.
[in] | position | Global 3D position |
Definition at line 273 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 273 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::m_mapper.
|
inline |
Retrieve material.
[in] | position | Global 3D position |
[in,out] | cache | Cache object. Contains material cell used for interpolation |
Definition at line 284 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 284 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::getMaterialCell(), Acts::InterpolatedMaterialMap< Mapper_t >::Cache::initialized, and Acts::InterpolatedMaterialMap< Mapper_t >::Cache::matCell.
|
inlineprivate |
Retrieve cell for given position.
[in] | position | Global 3D position |
position
must lie within the range of the underlying map. Definition at line 356 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 356 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::m_mapper.
Referenced by Acts::InterpolatedMaterialMap< Mapper_t >::getMaterial().
|
inline |
Retrieve material value & its "gradient".
[in] | position | Global 3D position |
[out] | derivative | "Gradient" of material as (5x5) matrix |
Definition at line 300 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 300 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::m_mapper.
|
inline |
Retrieve material value & its "gradient".
[in] | position | Global 3D position |
[out] | derivative | "Gradient" of material as (5x5) matrix |
[in,out] | cache | Cache object. Contains cell used for |
Definition at line 315 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 315 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::m_mapper.
|
inline |
Check whether given 3D position is inside look-up domain.
[in] | position | Global 3D position |
true
if position is inside the defined map, otherwise false
Definition at line 330 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 330 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::m_mapper.
|
inlinevirtual |
Retrieve the binned material.
[in] | position | Global 3D position |
Implements Acts::IVolumeMaterial.
Definition at line 264 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 264 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::m_mapper.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinevirtual |
Output Method for std::ostream
sl | The outoput stream |
Implements Acts::IVolumeMaterial.
Definition at line 340 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 340 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::m_binUtility, and Acts::BinUtility::max().
|
private |
Definition at line 368 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 368 of file InterpolatedMaterialMap.hpp
Referenced by Acts::InterpolatedMaterialMap< Mapper_t >::binUtility(), and Acts::InterpolatedMaterialMap< Mapper_t >::toStream().
|
private |
object for global coordinate transformation and interpolation
This object performs the mapping of the global 3D coordinates onto the material grid and the interpolation of the material component values on close-by grid points.
Definition at line 366 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 366 of file InterpolatedMaterialMap.hpp
Referenced by Acts::InterpolatedMaterialMap< Mapper_t >::getMapper(), Acts::InterpolatedMaterialMap< Mapper_t >::getMaterial(), Acts::InterpolatedMaterialMap< Mapper_t >::getMaterialCell(), Acts::InterpolatedMaterialMap< Mapper_t >::getMaterialGradient(), Acts::InterpolatedMaterialMap< Mapper_t >::isInside(), and Acts::InterpolatedMaterialMap< Mapper_t >::material().