ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
struct for mapping global 3D positions to field values More...
#include <acts/blob/master/Core/include/Acts/MagneticField/InterpolatedBFieldMap.hpp>
Classes | |
struct | FieldCell |
struct representing smallest grid unit in magnetic field grid More... | |
Public Types | |
using | Grid_t = G |
using | FieldType = typename Grid_t::value_type |
Public Member Functions | |
InterpolatedBFieldMapper (std::function< ActsVectorD< DIM_POS >(const Vector3D &)> transformPos, std::function< Vector3D(const FieldType &, const Vector3D &)> transformBField, Grid_t grid) | |
default constructor | |
Vector3D | getField (const Vector3D &position) const |
retrieve field at given position | |
FieldCell | getFieldCell (const Vector3D &position) const |
retrieve field cell for given position | |
std::vector< size_t > | getNBins () const |
get the number of bins for all axes of the field map | |
std::vector< double > | getMin () const |
get the minimum value of all axes of the field map | |
std::vector< double > | getMax () const |
get the maximum value of all axes of the field map | |
bool | isInside (const Vector3D &position) const |
check whether given 3D position is inside look-up domain | |
const Grid_t & | getGrid () const |
Get a const reference on the underlying grid structure. | |
Static Public Attributes | |
static constexpr size_t | DIM_POS = Grid_t::DIM |
Private Attributes | |
std::function< ActsVectorD < DIM_POS >const Vector3D &)> | m_transformPos |
geometric transformation applied to global 3D positions | |
std::function< Vector3D(const FieldType &, const Vector3D &)> | m_transformBField |
Grid_t | m_grid |
grid storing magnetic field values | |
struct for mapping global 3D positions to field values
DIM_POS | Dimensionality of position in magnetic field map |
DIM_BFIELD | Dimensionality of BField in magnetic field map |
Global 3D positions are transformed into a DIM_POS
Dimensional vector which is used to look up the magnetic field value in the underlying field map.
Definition at line 30 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 30 of file InterpolatedBFieldMap.hpp
using Acts::InterpolatedBFieldMapper< G >::FieldType = typename Grid_t::value_type |
Definition at line 33 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 33 of file InterpolatedBFieldMap.hpp
using Acts::InterpolatedBFieldMapper< G >::Grid_t = G |
Definition at line 32 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 32 of file InterpolatedBFieldMap.hpp
|
inline |
default constructor
[in] | transformPos | mapping of global 3D coordinates (cartesian) onto grid space |
[in] | transformBField | calculating the global 3D coordinates (cartesian) of the magnetic field with the local n dimensional field and the global 3D position as input |
[in] | grid | grid storing magnetic field values |
Definition at line 120 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 120 of file InterpolatedBFieldMap.hpp
|
inline |
retrieve field at given position
[in] | position | global 3D position |
position
must lie within the range of the underlying magnetic field map. Definition at line 136 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 136 of file InterpolatedBFieldMap.hpp
References Acts::InterpolatedBFieldMapper< G >::m_grid, Acts::InterpolatedBFieldMapper< G >::m_transformBField, Acts::InterpolatedBFieldMapper< G >::m_transformPos, and position.
|
inline |
retrieve field cell for given position
[in] | position | global 3D position |
position
must lie within the range of the underlying magnetic field map. Definition at line 148 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 148 of file InterpolatedBFieldMap.hpp
References Acts::InterpolatedBFieldMapper< G >::DIM_POS, Acts::InterpolatedBFieldMapper< G >::m_grid, Acts::InterpolatedBFieldMapper< G >::m_transformBField, Acts::InterpolatedBFieldMapper< G >::m_transformPos, and position.
|
inline |
Get a const reference on the underlying grid structure.
Definition at line 204 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 204 of file InterpolatedBFieldMap.hpp
References Acts::InterpolatedBFieldMapper< G >::m_grid.
|
inline |
get the maximum value of all axes of the field map
Definition at line 187 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 187 of file InterpolatedBFieldMap.hpp
References Acts::InterpolatedBFieldMapper< G >::m_grid.
|
inline |
get the minimum value of all axes of the field map
Definition at line 179 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 179 of file InterpolatedBFieldMap.hpp
References Acts::InterpolatedBFieldMapper< G >::m_grid.
|
inline |
get the number of bins for all axes of the field map
Definition at line 171 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 171 of file InterpolatedBFieldMap.hpp
References Acts::InterpolatedBFieldMapper< G >::m_grid.
|
inline |
check whether given 3D position is inside look-up domain
[in] | position | global 3D position |
true
if position is inside the defined look-up grid, otherwise false
Definition at line 197 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 197 of file InterpolatedBFieldMap.hpp
References Acts::InterpolatedBFieldMapper< G >::m_grid, and Acts::InterpolatedBFieldMapper< G >::m_transformPos.
|
static |
Definition at line 34 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 34 of file InterpolatedBFieldMap.hpp
Referenced by Acts::InterpolatedBFieldMapper< G >::getFieldCell(), and Acts::InterpolatedBFieldMapper< G >::FieldCell::isInside().
|
private |
grid storing magnetic field values
Definition at line 214 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 214 of file InterpolatedBFieldMap.hpp
Referenced by Acts::InterpolatedBFieldMapper< G >::getField(), Acts::InterpolatedBFieldMapper< G >::getFieldCell(), Acts::InterpolatedBFieldMapper< G >::getGrid(), Acts::InterpolatedBFieldMapper< G >::getMax(), Acts::InterpolatedBFieldMapper< G >::getMin(), Acts::InterpolatedBFieldMapper< G >::getNBins(), and Acts::InterpolatedBFieldMapper< G >::isInside().
|
private |
Transformation calculating the global 3D coordinates (cartesian) of the magnetic field with the local n dimensional field and the global 3D position as input
Definition at line 212 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 212 of file InterpolatedBFieldMap.hpp
Referenced by Acts::InterpolatedBFieldMapper< G >::getField(), and Acts::InterpolatedBFieldMapper< G >::getFieldCell().
|
private |
geometric transformation applied to global 3D positions
Definition at line 208 of file InterpolatedBFieldMap.hpp.
View newest version in sPHENIX GitHub at line 208 of file InterpolatedBFieldMap.hpp
Referenced by Acts::InterpolatedBFieldMapper< G >::getField(), Acts::InterpolatedBFieldMapper< G >::getFieldCell(), and Acts::InterpolatedBFieldMapper< G >::isInside().