Juggler
Juggling algorithms and event processing using gaudi framework
Jug::BField::ScalableBField Class Referencefinal

returns a given constant field value at every point More...

#include <BField.h>

Classes

struct  Cache
 

Public Member Functions

 ScalableBField (Acts::Vector3 B)
 construct constant magnetic field from field vector More...
 
 ScalableBField (double Bx=0., double By=0., double Bz=0.)
 construct constant magnetic field from components More...
 
Acts::Vector3 getField (const Acts::Vector3 &) const
 retrieve magnetic field value More...
 
Acts::Vector3 getField (const Acts::Vector3 &, Cache &cache) const
 retrieve magnetic field value More...
 
Acts::Vector3 getFieldGradient (const Acts::Vector3 &, Acts::ActsMatrix< 3, 3 > &) const
 retrieve magnetic field value & its gradient More...
 
Acts::Vector3 getFieldGradient (const Acts::Vector3 &, Acts::ActsMatrix< 3, 3 > &, Cache &cache) const
 retrieve magnetic field value & its gradient More...
 
bool isInside (const Acts::Vector3 &) const
 check whether given 3D position is inside look-up domain More...
 
void setField (double Bx, double By, double Bz)
 update magnetic field vector from components More...
 
void setField (const Acts::Vector3 &B)
 update magnetic field vector More...
 

Detailed Description

returns a given constant field value at every point

This class is based on the constant magnetic field class but allows a event based context

Constructor & Destructor Documentation

◆ ScalableBField() [1/2]

Jug::BField::ScalableBField::ScalableBField ( Acts::Vector3  B)
inlineexplicit

construct constant magnetic field from field vector

Parameters
[in]Bmagnetic field vector in global coordinate system

◆ ScalableBField() [2/2]

Jug::BField::ScalableBField::ScalableBField ( double  Bx = 0.,
double  By = 0.,
double  Bz = 0. 
)
inline

construct constant magnetic field from components

Parameters
[in]Bxmagnetic field component in global x-direction
[in]Bymagnetic field component in global y-direction
[in]Bzmagnetic field component in global z-direction

Member Function Documentation

◆ getField() [1/2]

Acts::Vector3 Jug::BField::ScalableBField::getField ( const Acts::Vector3 &  ) const
inline

retrieve magnetic field value

Parameters
[in]positionglobal position
Returns
magnetic field vector
Note
The position is ignored and only kept as argument to provide a consistent interface with other magnetic field services.

◆ getField() [2/2]

Acts::Vector3 Jug::BField::ScalableBField::getField ( const Acts::Vector3 &  ,
Cache cache 
) const
inline

retrieve magnetic field value

Parameters
[in]positionglobal position
[in]cacheCache object (is ignored)
Returns
magnetic field vector
Note
The position is ignored and only kept as argument to provide a consistent interface with other magnetic field services.

◆ getFieldGradient() [1/2]

Acts::Vector3 Jug::BField::ScalableBField::getFieldGradient ( const Acts::Vector3 &  ,
Acts::ActsMatrix< 3, 3 > &   
) const
inline

retrieve magnetic field value & its gradient

Parameters
[in]positionglobal position
[out]derivativegradient of magnetic field vector as (3x3) matrix
Returns
magnetic field vector
Note
The position is ignored and only kept as argument to provide a consistent interface with other magnetic field services.
currently the derivative is not calculated
Todo:
return derivative

◆ getFieldGradient() [2/2]

Acts::Vector3 Jug::BField::ScalableBField::getFieldGradient ( const Acts::Vector3 &  ,
Acts::ActsMatrix< 3, 3 > &  ,
Cache cache 
) const
inline

retrieve magnetic field value & its gradient

Parameters
[in]positionglobal position
[out]derivativegradient of magnetic field vector as (3x3) matrix
[in]cacheCache object (is ignored)
Returns
magnetic field vector
Note
The position is ignored and only kept as argument to provide a consistent interface with other magnetic field services.
currently the derivative is not calculated
Todo:
return derivative

◆ isInside()

bool Jug::BField::ScalableBField::isInside ( const Acts::Vector3 &  ) 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
Note
The method will always return true for the constant B-Field

◆ setField() [1/2]

void Jug::BField::ScalableBField::setField ( const Acts::Vector3 &  B)
inline

update magnetic field vector

Parameters
[in]Bmagnetic field vector in global coordinate system

◆ setField() [2/2]

void Jug::BField::ScalableBField::setField ( double  Bx,
double  By,
double  Bz 
)
inline

update magnetic field vector from components

Parameters
[in]Bxmagnetic field component in global x-direction
[in]Bymagnetic field component in global y-direction
[in]Bzmagnetic field component in global z-direction

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