ATLAS Offline Software
Simulation
G4Atlas
G4AtlasInterfaces
G4AtlasInterfaces
IMagFieldSvc.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// IMagFieldSvc.h, (c) ATLAS Detector software
8
#ifndef G4ATLASINTERFACES_IMAGFIELDSVC_H
9
#define G4ATLASINTERFACES_IMAGFIELDSVC_H
10
11
// Framework includes
12
#include "GaudiKernel/IInterface.h"
13
14
namespace
MagField
{
15
20
class
IMagFieldSvc
:
virtual
public
IInterface {
21
23
// Public methods:
25
public
:
26
28
DeclareInterfaceID
(
IMagFieldSvc
, 1, 0);
29
31
IMagFieldSvc
() :
m_solenoidCurrent
(0.0),
m_toroidCurrent
(0.0) {;}
32
36
virtual
void
getField
(
const
double
*
xyz
,
double
*bxyz,
double
*deriv =
nullptr
)
const
= 0;
37
42
virtual
void
getFieldZR
(
const
double
*
xyz
,
double
*bxyz,
double
*deriv =
nullptr
)
const
= 0;
43
45
bool
solenoidOn
()
const
{
return
solenoidCurrent
() > 0.0; }
46
bool
toroidOn
()
const
{
return
toroidCurrent
() > 0.0; }
47
float
solenoidCurrent
()
const
{
return
m_solenoidCurrent
; }
48
float
toroidCurrent
()
const
{
return
m_toroidCurrent
; }
49
50
protected
:
51
void
setSolenoidCurrent
(
float
current
) {
m_solenoidCurrent
=
current
; }
52
void
setToroidCurrent
(
float
current
) {
m_toroidCurrent
=
current
; }
53
54
private
:
55
float
m_solenoidCurrent
;
// solenoid current in ampere
56
float
m_toroidCurrent
;
// toroid current in ampere
57
};
58
}
59
60
#endif //> !MAGFIELDINTERFACES_IMAGFIELDSVC_H
fillPileUpNoiseLumi.current
current
Definition:
fillPileUpNoiseLumi.py:52
xyz
#define xyz
MagField::IMagFieldSvc::solenoidOn
bool solenoidOn() const
status of the magnets
Definition:
IMagFieldSvc.h:45
MagField::IMagFieldSvc::setToroidCurrent
void setToroidCurrent(float current)
Definition:
IMagFieldSvc.h: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::toroidOn
bool toroidOn() const
Definition:
IMagFieldSvc.h:46
MagField
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
Definition:
ForwardRegionFieldSvc.h:27
MagField::IMagFieldSvc::IMagFieldSvc
IMagFieldSvc()
constructor
Definition:
IMagFieldSvc.h:31
MagField::IMagFieldSvc::getFieldZR
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
MagField::IMagFieldSvc::DeclareInterfaceID
DeclareInterfaceID(IMagFieldSvc, 1, 0)
Creates the InterfaceID and interfaceID() method.
MagField::IMagFieldSvc::setSolenoidCurrent
void setSolenoidCurrent(float current)
Definition:
IMagFieldSvc.h:51
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:47
MagField::IMagFieldSvc
@ class IMagFieldSvc
Definition:
IMagFieldSvc.h:20
Generated on Sun Dec 22 2024 21:11:29 for ATLAS Offline Software by
1.8.18