ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MagneticField
MagFieldElements
MagFieldElements
BFieldZone.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
19
20
#ifndef BFIELDZONE_H
21
#define BFIELDZONE_H
22
23
#include "
CxxUtils/restrict.h
"
24
#include "
MagFieldElements/BFieldCond.h
"
25
#include "
MagFieldElements/BFieldMesh.h
"
26
#include <vector>
27
28
class
BFieldZone
:
public
BFieldMesh
<short>
29
{
30
public
:
31
// constructor
32
BFieldZone
(
int
id
,
33
double
zmin
,
34
double
zmax
,
35
double
rmin
,
36
double
rmax
,
37
double
phimin
,
38
double
phimax
,
39
double
scale);
41
void
appendCond
(
const
BFieldCond
&
cond
);
43
void
addBiotSavart
(
const
double
*
ATH_RESTRICT
xyz
,
44
double
*
ATH_RESTRICT
B,
45
double
*
ATH_RESTRICT
deriv =
nullptr
)
const
;
46
// accessors
47
int
id
()
const
;
48
unsigned
ncond
()
const
;
49
const
BFieldCond
&
cond
(
int
i)
const
;
50
const
std::vector<BFieldCond>*
condVector
()
const
;
51
int
memSize
()
const
;
52
// adjust the min/max edges to a new value
53
void
adjustMin
(
int
i,
double
x
);
54
void
adjustMax
(
int
i,
double
x
);
55
56
private
:
57
int
m_id
;
// zone ID number
58
std::vector<BFieldCond>
m_cond
;
// list of current conductors
59
};
60
61
#include "
BFieldZone.icc
"
62
63
#endif
BFieldCond.h
BFieldMesh.h
BFieldZone.icc
xyz
#define xyz
x
#define x
BFieldCond
Definition
BFieldCond.h:22
BFieldMesh< short >::rmax
double rmax() const
BFieldMesh< short >::zmax
double zmax() const
BFieldMesh< short >::phimax
double phimax() const
BFieldMesh< short >::BFieldMesh
BFieldMesh()=default
BFieldMesh< short >::zmin
double zmin() const
BFieldMesh< short >::rmin
double rmin() const
BFieldMesh< short >::phimin
double phimin() const
BFieldZone::addBiotSavart
void addBiotSavart(const double *ATH_RESTRICT xyz, double *ATH_RESTRICT B, double *ATH_RESTRICT deriv=nullptr) const
compute Biot-Savart magnetic field and add to B[3]
BFieldZone::adjustMax
void adjustMax(int i, double x)
BFieldZone::condVector
const std::vector< BFieldCond > * condVector() const
BFieldZone::m_id
int m_id
Definition
BFieldZone.h:57
BFieldZone::adjustMin
void adjustMin(int i, double x)
BFieldZone::ncond
unsigned ncond() const
BFieldZone::cond
const BFieldCond & cond(int i) const
BFieldZone::memSize
int memSize() const
BFieldZone::id
int id() const
BFieldZone::m_cond
std::vector< BFieldCond > m_cond
Definition
BFieldZone.h:58
BFieldZone::appendCond
void appendCond(const BFieldCond &cond)
add elements to the current conductors vector
BFieldZone::BFieldZone
BFieldZone(int id, double zmin, double zmax, double rmin, double rmax, double phimin, double phimax, double scale)
restrict.h
Macro wrapping the nonstandard restrict keyword.
ATH_RESTRICT
#define ATH_RESTRICT
Definition
restrict.h:31
Generated on
for ATLAS Offline Software by
1.17.0