Analysis Software
Documentation for sPHENIX simulation software
|
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 Vector3 &position) const override |
Retrieve the binned material. | |
Material | getMaterial (const Vector3 &position) const |
Retrieve the interpolated material. | |
Material | getMaterial (const Vector3 &position, Cache &cache) const |
Retrieve material. | |
Material | getMaterialGradient (const Vector3 &position, ActsMatrix< 5, 5 > &derivative) const |
Retrieve material value & its "gradient". | |
Material | getMaterialGradient (const Vector3 &position, ActsMatrix< 5, 5 > &derivative, Cache &cache) const |
Retrieve material value & its "gradient". | |
const Mapper_t & | getMapper () const |
Convenience method to access underlying material mapper. | |
bool | isInside (const Vector3 &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 override |
Public Member Functions inherited from Acts::IVolumeMaterial | |
virtual | ~IVolumeMaterial ()=default |
Virtual Destructor. | |
Private Member Functions | |
Mapper_t::MaterialCell | getMaterialCell (const Vector3 &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] | bu | BinUtility for build from |
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 338 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 338 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::m_binUtility.
|
inline |
Convenience method to access underlying material mapper.
Definition at line 327 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 327 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 359 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 359 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 316 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 316 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 333 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 333 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::m_mapper.
|
inlineoverridevirtual |
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().
|
inlineoverridevirtual |
Output Method for std::ostream
sl | The outoput stream |
Implements Acts::IVolumeMaterial.
Definition at line 343 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 343 of file InterpolatedMaterialMap.hpp
References Acts::InterpolatedMaterialMap< Mapper_t >::m_binUtility, and Acts::BinUtility::max().
|
private |
Definition at line 371 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 371 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 369 of file InterpolatedMaterialMap.hpp.
View newest version in sPHENIX GitHub at line 369 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().