allpix::DetectorField
Field instance of a detector. More…
#include <DetectorField.hpp>
Public Functions
Name | |
---|---|
DetectorField() =default Constructs a detector field. |
|
bool | isValid() const Check if the field is valid and either a field grid or a field function is configured. |
FieldType | getType() const Return the type of field. |
T | get(const ROOT::Math::XYZPoint & local_pos, const bool extrapolate_z =false) const Get the field value in the sensor at a position provided in local coordinates. |
T | getRelativeTo(const ROOT::Math::XYZPoint & local_pos, const ROOT::Math::XYPoint & reference, const bool extrapolate_z =false) const Get the value of the field at a position provided in local coordinates with respect to the reference. |
void | setGrid(std::shared_ptr< std::vector< double » field, std::array< size_t, 3 > bins, std::array< double, 3 > size, FieldMapping mapping, std::array< double, 2 > scales, std::array< double, 2 > offset, std::pair< double, double > thickness_domain) Set the field in the detector using a grid. |
void | setFunction(FieldFunction< T > function, std::pair< double, double > thickness_domain, FieldType type =FieldType::CUSTOM) Set the field in the detector using a function. |
Friends
Name | |
---|---|
class | Detector |
Detailed Description
template <typename T ,
size_t N =3>
class allpix::DetectorField;
Field instance of a detector.
Contains the a pointer to the field data along with the field sizes, binning and potential field distortions such as scaling or offset parameters.
Public Functions Documentation
function DetectorField
DetectorField() =default
Constructs a detector field.
function isValid
inline bool isValid() const
Check if the field is valid and either a field grid or a field function is configured.
Return: Boolean indicating field validity
function getType
inline FieldType getType() const
Return the type of field.
Return: The type of the field
Note: The type of the field is set depending on the function used to apply it
function get
T get(
const ROOT::Math::XYZPoint & local_pos,
const bool extrapolate_z =false
) const
Get the field value in the sensor at a position provided in local coordinates.
Parameters:
- local_pos Position in the local frame
- extrapolate_z Extrapolate the field along z when outside the defined region
Return: Value(s) of the field at the queried point
function getRelativeTo
T getRelativeTo(
const ROOT::Math::XYZPoint & local_pos,
const ROOT::Math::XYPoint & reference,
const bool extrapolate_z =false
) const
Get the value of the field at a position provided in local coordinates with respect to the reference.
Parameters:
- local_pos Position in the local frame
- reference Reference position to calculate the field for, x and y coordinate only
- extrapolate_z Extrapolate the field along z when outside the defined region
Return: Value(s) of the field assigned to the reference pixel at the queried point
function setGrid
void setGrid(
std::shared_ptr< std::vector< double >> field,
std::array< size_t, 3 > bins,
std::array< double, 3 > size,
FieldMapping mapping,
std::array< double, 2 > scales,
std::array< double, 2 > offset,
std::pair< double, double > thickness_domain
)
Set the field in the detector using a grid.
Parameters:
- field Flat array of the field
- bins The bins of the flat field array
- size Physical extent of the field
- mapping Specification of the mapping of the field onto the pixel plane
- scales Scaling factors for the field size, given in fractions of the field size in x and y
- offset Offset of the field from the pixel center, given in fractions of the field size in x and y
- thickness_domain Domain in local coordinates in the thickness direction where the field holds
function setFunction
void setFunction(
FieldFunction< T > function,
std::pair< double, double > thickness_domain,
FieldType type =FieldType::CUSTOM
)
Set the field in the detector using a function.
Parameters:
- function Function used to calculate the field
- type Type of the field function used
- thickness_domain Domain in local coordinates in the thickness direction where the field holds
Friends
friend Detector
friend class Detector(
Detector
);
Updated on 2024-12-13 at 08:31:36 +0000