![]() |
Belle II Software
release-06-01-15
|
The Bfieldcomponentklm1 class. More...
#include <BFieldComponentKlm1.h>
Classes | |
struct | BFieldPoint |
Trivial struct representing rz coordinate. More... | |
Public Member Functions | |
BFieldComponentKlm1 ()=default | |
The BFieldComponentklm1 constructor. | |
virtual | ~BFieldComponentKlm1 ()=default |
The BFieldComponentklm1 destructor. | |
virtual void | initialize () override |
Initializes the magnetic field Component. More... | |
virtual B2Vector3D | calculate (const B2Vector3D &point) const override |
Calculates the magnetic field vector at the specified space point. More... | |
virtual void | terminate () override |
Terminates the magnetic field Component. | |
void | setMapFilename (const std::string &filename) |
Sets the filename of the magnetic field map. More... | |
void | setNLayers (int b, int e) |
Sets the number of barrel and endcap layers. More... | |
void | setBarrelRegion (double minR, double maxZ, double offset) |
Sets the dimensions of the barrel region. More... | |
void | setEndcapRegion (double minR, double minZ) |
Set the dimensions of the endcap region. More... | |
void | setLayerParam (double bgapl0, double bironth, double egap, double dl) |
Set the layer parameters @bgapl0 barrel gap height for layer 0 @bironth barrel iron thickness @egap endcap gap height @dl distance between two layers. | |
Private Attributes | |
double | m_cospi8 {cos(M_PI / 8)} |
cos(pi/8) | |
double | m_cos3pi8 {cos(3 * M_PI / 8)} |
cos(3pi/8) | |
double | m_cospi4 {cos(M_PI / 4)} |
cos(pi/4) | |
std::string | m_mapFilename {""} |
The filename of the magnetic field map. | |
double | m_mapOffset {0} |
Offset required because the accelerator group defines the Belle center as zero. | |
double | m_barrelRMin {0} |
The minimum boundaries of BKLM region in r. | |
double | m_barrelZMax {0} |
The maximum boundaries of BKLM region in r. | |
double | m_endcapRMin {0} |
The minimum boundaries of EKLM region in r. | |
double | m_endcapZMin {0} |
The minimum boundaries of EKLM region in z. | |
int | m_nBarrelLayers {0} |
The number of layers per 1 sector for BKLM. | |
int | m_nEndcapLayers {0} |
The number of layers per 1 sector for EKLM. | |
double | m_barrelGapHeightLayer0 {0} |
Gap height of BKLM layer0. | |
double | m_endcapGapHeight {0} |
Gap height of BKLM layer1-14. | |
double | m_dLayer {0} |
deppth of BKLM module? | |
double | m_barrelIronThickness {0} |
Thickness of Barrel iron plate. | |
double | m_barrelZBreakpoint [15] {0} |
z position of breakpoints between the two linear approximations of Bz in the barrel. More... | |
double | m_barrelRBreakpoint [15] {0} |
z position of breakpoints between the two linear approximations of Br in the barrel. More... | |
double | m_barrelFieldZSlope1 [15] {0} |
Slope of Bz before the breakpoint in the barrel. More... | |
double | m_barrelFieldZIntercept1 [15] {0} |
Intercept of Bz before the beackpoint in the barrel. More... | |
double | m_barrelFieldZSlope2 [15] {0} |
Slope of Bz after the breakpoint in the barrel. More... | |
double | m_barrelFieldZIntercept2 [15] {0} |
Intercept of Bz after the beackpoint in the barrel. More... | |
double | m_barrelFieldRSlope1 [15] {0} |
Slope of Br before the breakpoint in the barrel. More... | |
double | m_barrelFieldRIntercept1 [15] {0} |
Intercept of Br before the beackpoint in the barrel. More... | |
double | m_barrelFieldRSlope2 [15] {0} |
Slope of Br after the breakpoint in the barrel. More... | |
double | m_barrelFieldRIntercept2 [15] {0} |
Intercept of Br after the beackpoint in the barrel. More... | |
double | m_endcapZBreakpoint [2][15][5] {{{0}}} |
z position of breakpoints between linear functions in the endcap. More... | |
double | m_endcapRBreakpoint [2][15][5] {{{0}}} |
r position of breakpoints between linear functions in the endcap First index indicates whether or not where in a gap (0) or in iron (1), second index is the layer and third index is the number of breaks we have in the linear approximation and their positions | |
double | m_endcapFieldZSlope [2][15][5] {{{0}}} |
Slopes of the linear approximation of Bz in the endcap. More... | |
double | m_endcapFieldZIntercept [2][15][5] {{{0}}} |
Intercepts of the linear approximation of Bz in the endcap. More... | |
double | m_endcapFieldRSlope [2][15][5] {{{0}}} |
Slopes of the linear approximation of Br in the endcap. More... | |
double | m_endcapFieldRIntercept [2][15][5] {{{0}}} |
Intercepts of the linear approximation of Br in the endcap. More... | |
The Bfieldcomponentklm1 class.
This class represents a magnetic field map in KLM region and outside of solenoid. This magnetic field is for Belle. This is porting class from g4superb to basf2. The magnetic field map is stored as linear functions in cylindrical coordinates. It is defined by a maximum radius, a minimum z, r and z, the number of layers for Barrel KLM and Endcap KLM. The ZOffset is used to account for the fact that the acceleration group defines 0 to be in the center of the detector, while the detector group defines the IP to be the center.
Definition at line 33 of file BFieldComponentKlm1.h.
|
overridevirtual |
Calculates the magnetic field vector at the specified space point.
point | The space point in Cartesian coordinates (x,y,z) in [cm] at which the magnetic field vector should be calculated. |
Implements BFieldComponentAbs.
Definition at line 87 of file BFieldComponentKlm1.cc.
|
overridevirtual |
Initializes the magnetic field Component.
This method opens the magnetic field map file.
Reimplemented from BFieldComponentAbs.
Definition at line 23 of file BFieldComponentKlm1.cc.
|
inline |
Sets the dimensions of the barrel region.
minR | minimal radius |
maxZ | max extension in z in both directions |
offset | map offset in z |
Definition at line 87 of file BFieldComponentKlm1.h.
|
inline |
Set the dimensions of the endcap region.
minR | minimal radius |
minZ | starting z coordinate in both directions |
Definition at line 93 of file BFieldComponentKlm1.h.
|
inline |
Sets the filename of the magnetic field map.
filename | The filname of the magnetic field map. |
Definition at line 74 of file BFieldComponentKlm1.h.
|
inline |
Sets the number of barrel and endcap layers.
b | barrel layers |
e | endcap layers |
Definition at line 80 of file BFieldComponentKlm1.h.
|
private |
Intercept of Br before the beackpoint in the barrel.
Index indicates the current layer
Definition at line 166 of file BFieldComponentKlm1.h.
|
private |
Intercept of Br after the beackpoint in the barrel.
Index indicates the current layer
Definition at line 172 of file BFieldComponentKlm1.h.
|
private |
Slope of Br before the breakpoint in the barrel.
Index indicates the current layer
Definition at line 163 of file BFieldComponentKlm1.h.
|
private |
Slope of Br after the breakpoint in the barrel.
Index indicates the current layer
Definition at line 169 of file BFieldComponentKlm1.h.
|
private |
Intercept of Bz before the beackpoint in the barrel.
Index indicates the current layer
Definition at line 154 of file BFieldComponentKlm1.h.
|
private |
Intercept of Bz after the beackpoint in the barrel.
Index indicates the current layer
Definition at line 160 of file BFieldComponentKlm1.h.
|
private |
Slope of Bz before the breakpoint in the barrel.
Index indicates the current layer
Definition at line 151 of file BFieldComponentKlm1.h.
|
private |
Slope of Bz after the breakpoint in the barrel.
Index indicates the current layer
Definition at line 157 of file BFieldComponentKlm1.h.
|
private |
z position of breakpoints between the two linear approximations of Br in the barrel.
Index indicates the current layer
Definition at line 148 of file BFieldComponentKlm1.h.
|
private |
z position of breakpoints between the two linear approximations of Bz in the barrel.
Index indicates the current layer
Definition at line 145 of file BFieldComponentKlm1.h.
|
private |
Intercepts of the linear approximation of Br in the endcap.
First index indicates whether or not where in a gap (0) or in iron (1), second index is the layer and third index is the number of breaks we have in the linear approximation and their positions
Definition at line 204 of file BFieldComponentKlm1.h.
|
private |
Slopes of the linear approximation of Br in the endcap.
First index indicates whether or not where in a gap (0) or in iron (1), second index is the layer and third index is the number of breaks we have in the linear approximation and their positions
Definition at line 199 of file BFieldComponentKlm1.h.
|
private |
Intercepts of the linear approximation of Bz in the endcap.
First index indicates whether or not where in a gap (0) or in iron (1), second index is the layer and third index is the number of breaks we have in the linear approximation and their positions
Definition at line 194 of file BFieldComponentKlm1.h.
|
private |
Slopes of the linear approximation of Bz in the endcap.
First index indicates whether or not where in a gap (0) or in iron (1), second index is the layer and third index is the number of breaks we have in the linear approximation and their positions
Definition at line 189 of file BFieldComponentKlm1.h.
|
private |
z position of breakpoints between linear functions in the endcap.
First index indicates whether or not where in a gap (0) or in iron (1), second index is the layer and third index is the number of breaks we have in the linear approximation and their positions
Definition at line 178 of file BFieldComponentKlm1.h.