ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::InterpolatedBFieldMapper< G > Struct Template Reference

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_tgetGrid () 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
 

Detailed Description

template<typename G>
struct Acts::InterpolatedBFieldMapper< G >

struct for mapping global 3D positions to field values

Template Parameters
DIM_POSDimensionality of position in magnetic field map
DIM_BFIELDDimensionality 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

Member Typedef Documentation

template<typename G>
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

template<typename G>
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

Constructor & Destructor Documentation

template<typename G>
Acts::InterpolatedBFieldMapper< G >::InterpolatedBFieldMapper ( std::function< ActsVectorD< DIM_POS >(const Vector3D &)>  transformPos,
std::function< Vector3D(const FieldType &, const Vector3D &)>  transformBField,
Grid_t  grid 
)
inline

default constructor

Parameters
[in]transformPosmapping of global 3D coordinates (cartesian) onto grid space
[in]transformBFieldcalculating the global 3D coordinates (cartesian) of the magnetic field with the local n dimensional field and the global 3D position as input
[in]gridgrid 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

Member Function Documentation

template<typename G>
Vector3D Acts::InterpolatedBFieldMapper< G >::getField ( const Vector3D position) const
inline

retrieve field at given position

Parameters
[in]positionglobal 3D position
Returns
magnetic field value at the given position
Precondition
The given 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.

template<typename G>
FieldCell Acts::InterpolatedBFieldMapper< G >::getFieldCell ( const Vector3D position) const
inline

retrieve field cell for given position

Parameters
[in]positionglobal 3D position
Returns
field cell containing the given global position
Precondition
The given 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.

template<typename G>
const Grid_t& Acts::InterpolatedBFieldMapper< G >::getGrid ( ) const
inline

Get a const reference on the underlying grid structure.

Returns
grid reference

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.

template<typename G>
std::vector<double> Acts::InterpolatedBFieldMapper< G >::getMax ( ) const
inline

get the maximum value of all axes of the field map

Returns
vector returning the maxima of all field map axes

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.

template<typename G>
std::vector<double> Acts::InterpolatedBFieldMapper< G >::getMin ( ) const
inline

get the minimum value of all axes of the field map

Returns
vector returning the minima of all field map axes

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.

template<typename G>
std::vector<size_t> Acts::InterpolatedBFieldMapper< G >::getNBins ( ) const
inline

get the number of bins for all axes of the field map

Returns
vector returning number of bins for all field map axes

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.

template<typename G>
bool Acts::InterpolatedBFieldMapper< G >::isInside ( const Vector3D position) const
inline

check whether given 3D position is inside look-up domain

Parameters
[in]positionglobal 3D position
Returns
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.

Member Data Documentation

template<typename G>
constexpr size_t Acts::InterpolatedBFieldMapper< G >::DIM_POS = Grid_t::DIM
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().

template<typename G>
std::function<Vector3D(const FieldType&, const Vector3D&)> Acts::InterpolatedBFieldMapper< G >::m_transformBField
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().

template<typename G>
std::function<ActsVectorD<DIM_POS>const Vector3D&)> Acts::InterpolatedBFieldMapper< G >::m_transformPos
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().


The documentation for this struct was generated from the following file: