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...
 
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 20 of file IMagFieldSvc.h.

Constructor & Destructor Documentation

◆ IMagFieldSvc()

MagField::IMagFieldSvc::IMagFieldSvc ( )
inline

constructor

Definition at line 31 of file IMagFieldSvc.h.

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

Member Function Documentation

◆ DeclareInterfaceID()

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

Creates the InterfaceID and interfaceID() method.

◆ getField()

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 51 of file IMagFieldSvc.h.

◆ setToroidCurrent()

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

Definition at line 52 of file IMagFieldSvc.h.

◆ solenoidCurrent()

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

Definition at line 47 of file IMagFieldSvc.h.

47 { return m_solenoidCurrent; }

◆ solenoidOn()

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

status of the magnets

Definition at line 45 of file IMagFieldSvc.h.

45 { return solenoidCurrent() > 0.0; }

◆ toroidCurrent()

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

Definition at line 48 of file IMagFieldSvc.h.

48 { return m_toroidCurrent; }

◆ toroidOn()

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

Definition at line 46 of file IMagFieldSvc.h.

46 { return toroidCurrent() > 0.0; }

Member Data Documentation

◆ m_solenoidCurrent

float MagField::IMagFieldSvc::m_solenoidCurrent
private

Definition at line 55 of file IMagFieldSvc.h.

◆ m_toroidCurrent

float MagField::IMagFieldSvc::m_toroidCurrent
private

Definition at line 56 of file IMagFieldSvc.h.


The documentation for this class was generated from the following file:
fillPileUpNoiseLumi.current
current
Definition: fillPileUpNoiseLumi.py:52
MagField::IMagFieldSvc::m_solenoidCurrent
float m_solenoidCurrent
Definition: IMagFieldSvc.h:55
MagField::IMagFieldSvc::m_toroidCurrent
float m_toroidCurrent
Definition: IMagFieldSvc.h:56
MagField::IMagFieldSvc::toroidCurrent
float toroidCurrent() const
Definition: IMagFieldSvc.h:48
MagField::IMagFieldSvc::solenoidCurrent
float solenoidCurrent() const
Definition: IMagFieldSvc.h:47