ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
MagField::IMagFieldSvc Class Referenceabstract

@ class IMagFieldSvc More...

#include <IMagFieldSvc.h>

Inheritance diagram for MagField::IMagFieldSvc:
Collaboration diagram for MagField::IMagFieldSvc:

Public Member Functions

 DeclareInterfaceID (IMagFieldSvc, 1, 0)
 Creates the InterfaceID and interfaceID() method. More...
 
 IMagFieldSvc ()
 constructor More...
 
virtual void getField (const double *xyz, double *bxyz, double *deriv=nullptr) const =0
 get B field value at given position More...
 
void getField (const Amg::Vector3D *xyz, Amg::Vector3D *bxyz) const
 a getField() wrapper for Amg classes More...
 
void getField (const Amg::Vector3D *xyz, Amg::Vector3D *bxyz, Amg::RotationMatrix3D *deriv) const
 
virtual void getFieldZR (const double *xyz, double *bxyz, double *deriv=nullptr) const =0
 get B field value on the z-r plane at given position More...
 
bool solenoidOn () const
 status of the magnets More...
 
bool toroidOn () const
 
float solenoidCurrent () const
 
float toroidCurrent () const
 

Protected Member Functions

void setSolenoidCurrent (float current)
 
void setToroidCurrent (float current)
 

Private Attributes

float m_solenoidCurrent
 
float m_toroidCurrent
 

Detailed Description

@ class IMagFieldSvc

@ author Elmar.Ritsch -at- cern.ch

Definition at line 26 of file IMagFieldSvc.h.

Constructor & Destructor Documentation

◆ IMagFieldSvc()

MagField::IMagFieldSvc::IMagFieldSvc ( )
inline

constructor

Definition at line 37 of file IMagFieldSvc.h.

37 : m_solenoidCurrent(0.0), m_toroidCurrent(0.0) {;}

Member Function Documentation

◆ DeclareInterfaceID()

MagField::IMagFieldSvc::DeclareInterfaceID ( IMagFieldSvc  ,
,
 
)

Creates the InterfaceID and interfaceID() method.

◆ getField() [1/3]

void MagField::IMagFieldSvc::getField ( const Amg::Vector3D xyz,
Amg::Vector3D bxyz 
) const
inline

a getField() wrapper for Amg classes

Definition at line 45 of file IMagFieldSvc.h.

45  {
46  getField( xyz->data(), bxyz->data(), nullptr );
47  }

◆ getField() [2/3]

void MagField::IMagFieldSvc::getField ( const Amg::Vector3D xyz,
Amg::Vector3D bxyz,
Amg::RotationMatrix3D deriv 
) const
inline

Definition at line 48 of file IMagFieldSvc.h.

48  {
49  // cppcheck-suppress nullPointer; false positive
50  getField( xyz->data(), bxyz->data(), deriv->data() );
51  }

◆ getField() [3/3]

virtual void MagField::IMagFieldSvc::getField ( const double *  xyz,
double *  bxyz,
double *  deriv = nullptr 
) const
pure virtual

get B field value at given position

xyz[3] is in mm, bxyz[3] is in kT if deriv[9] is given, field derivatives are returned in kT/mm

◆ getFieldZR()

virtual void MagField::IMagFieldSvc::getFieldZR ( const double *  xyz,
double *  bxyz,
double *  deriv = nullptr 
) const
pure virtual

get B field value on the z-r plane at given position

works only inside the solenoid; otherwise calls getField() above xyz[3] is in mm, bxyz[3] is in kT if deriv[9] is given, field derivatives are returned in kT/mm

◆ setSolenoidCurrent()

void MagField::IMagFieldSvc::setSolenoidCurrent ( float  current)
inlineprotected

Definition at line 66 of file IMagFieldSvc.h.

◆ setToroidCurrent()

void MagField::IMagFieldSvc::setToroidCurrent ( float  current)
inlineprotected

Definition at line 67 of file IMagFieldSvc.h.

◆ solenoidCurrent()

float MagField::IMagFieldSvc::solenoidCurrent ( ) const
inline

Definition at line 62 of file IMagFieldSvc.h.

62 { return m_solenoidCurrent; }

◆ solenoidOn()

bool MagField::IMagFieldSvc::solenoidOn ( ) const
inline

status of the magnets

Definition at line 60 of file IMagFieldSvc.h.

60 { return solenoidCurrent() > 0.0; }

◆ toroidCurrent()

float MagField::IMagFieldSvc::toroidCurrent ( ) const
inline

Definition at line 63 of file IMagFieldSvc.h.

63 { return m_toroidCurrent; }

◆ toroidOn()

bool MagField::IMagFieldSvc::toroidOn ( ) const
inline

Definition at line 61 of file IMagFieldSvc.h.

61 { return toroidCurrent() > 0.0; }

Member Data Documentation

◆ m_solenoidCurrent

float MagField::IMagFieldSvc::m_solenoidCurrent
private

Definition at line 70 of file IMagFieldSvc.h.

◆ m_toroidCurrent

float MagField::IMagFieldSvc::m_toroidCurrent
private

Definition at line 71 of file IMagFieldSvc.h.


The documentation for this class was generated from the following file:
fillPileUpNoiseLumi.current
current
Definition: fillPileUpNoiseLumi.py:52
xyz
#define xyz
MagField::IMagFieldSvc::m_solenoidCurrent
float m_solenoidCurrent
Definition: IMagFieldSvc.h:70
MagField::IMagFieldSvc::m_toroidCurrent
float m_toroidCurrent
Definition: IMagFieldSvc.h:71
MagField::IMagFieldSvc::toroidCurrent
float toroidCurrent() const
Definition: IMagFieldSvc.h:63
MagField::IMagFieldSvc::getField
virtual void getField(const double *xyz, double *bxyz, double *deriv=nullptr) const =0
get B field value at given position
MagField::IMagFieldSvc::solenoidCurrent
float solenoidCurrent() const
Definition: IMagFieldSvc.h:62