Class ConstantBField¶
Defined in File ConstantBField.hpp
Class Documentation¶
-
class
Acts::ConstantBField¶ This class implements a simple constant magnetic field.
The magnetic field value has to be set at creation time, but can be updated later on.
Public Functions
-
ConstantBField(Vector3 B)¶ Construct constant magnetic field from field vector.
- Parameters
[in] B: magnetic field vector in global coordinate system
-
ConstantBField(double Bx = 0., double By = 0., double Bz = 0.)¶ construct constant magnetic field from components
- Parameters
[in] Bx: magnetic field component in global x-direction[in] By: magnetic field component in global y-direction[in] Bz: magnetic field component in global z-direction
-
Vector3
getField(const Vector3&) const¶ retrieve magnetic field value
- Return
magnetic field vector
- Note
The
positionis ignored and only kept as argument to provide a consistent interface with other magnetic field services.- Parameters
[in] position: global position
-
Vector3
getField(const Vector3&, Cache&) const¶ retrieve magnetic field value
- Return
magnetic field vector
- Note
The
positionis ignored and only kept as argument to provide a consistent interface with other magnetic field services.- Parameters
[in] position: global position[in] cache: Cache object (is ignored)
-
Vector3
getFieldGradient(const Vector3&, ActsMatrix<3, 3>&) const¶ retrieve magnetic field value & its gradient
- Return
magnetic field vector
- Note
The
positionis ignored and only kept as argument to provide a consistent interface with other magnetic field services.- Note
currently the derivative is not calculated
- Parameters
[in] position: global position[out] derivative: gradient of magnetic field vector as (3x3) matrix
-
Vector3
getFieldGradient(const Vector3&, ActsMatrix<3, 3>&, Cache&) const¶ retrieve magnetic field value & its gradient
- Return
magnetic field vector
- Note
The
positionis ignored and only kept as argument to provide a consistent interface with other magnetic field services.- Note
currently the derivative is not calculated
- Parameters
[in] position: global position[out] derivative: gradient of magnetic field vector as (3x3) matrix[in] cache: Cache object (is ignored)
-
bool
isInside(const Vector3&) const¶ check whether given 3D position is inside look-up domain
- Return
trueif position is inside the defined look-up grid, otherwisefalse- Note
The method will always return true for the constant B-Field
- Parameters
[in] position: global 3D position
-
void
setField(double Bx, double By, double Bz)¶ update magnetic field vector from components
- Parameters
[in] Bx: magnetic field component in global x-direction[in] By: magnetic field component in global y-direction[in] Bz: magnetic field component in global z-direction
-
struct
Cache¶ Public Functions
-
Cache(std::reference_wrapper<const MagneticFieldContext>)¶ constructor with context
-
-