ATLAS Offline Software
Loading...
Searching...
No Matches
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.
 IMagFieldSvc ()
 constructor
virtual void getField (const double *xyz, double *bxyz, double *deriv=nullptr) const =0
 get B field value at given position
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
bool solenoidOn () const
 status of the magnets
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.

Member Function Documentation

◆ DeclareInterfaceID()

MagField::IMagFieldSvc::DeclareInterfaceID ( IMagFieldSvc ,
1 ,
0  )

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

◆ 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; }
float solenoidCurrent() const

◆ 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; }
float toroidCurrent() const

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: