Belle II Software development
|
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. | |
virtual ROOT::Math::XYZVector | calculate (const ROOT::Math::XYZVector &point) const override |
Calculates the magnetic field vector at the specified space point. | |
virtual void | terminate () override |
Terminates the magnetic field Component. | |
void | setMapFilename (const std::string &filename) |
Sets the filename of the magnetic field map. | |
void | setNLayers (int b, int e) |
Sets the number of barrel and endcap layers. | |
void | setBarrelRegion (double minR, double maxZ, double offset) |
Sets the dimensions of the barrel region. | |
void | setEndcapRegion (double minR, double minZ) |
Set the dimensions of the endcap region. | |
void | setLayerParam (double bgapl0, double bironth, double egap, double dl) |
Set the layer parameters. | |
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} |
depth 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. | |
double | m_barrelRBreakpoint [15] {0} |
z position of breakpoints between the two linear approximations of Br in the barrel. | |
double | m_barrelFieldZSlope1 [15] {0} |
Slope of Bz before the breakpoint in the barrel. | |
double | m_barrelFieldZIntercept1 [15] {0} |
Intercept of Bz before the beackpoint in the barrel. | |
double | m_barrelFieldZSlope2 [15] {0} |
Slope of Bz after the breakpoint in the barrel. | |
double | m_barrelFieldZIntercept2 [15] {0} |
Intercept of Bz after the breakpoint in the barrel. | |
double | m_barrelFieldRSlope1 [15] {0} |
Slope of Br before the breakpoint in the barrel. | |
double | m_barrelFieldRIntercept1 [15] {0} |
Intercept of Br before the beackpoint in the barrel. | |
double | m_barrelFieldRSlope2 [15] {0} |
Slope of Br after the breakpoint in the barrel. | |
double | m_barrelFieldRIntercept2 [15] {0} |
Intercept of Br after the beackpoint in the barrel. | |
double | m_endcapZBreakpoint [2][15][5] {{{0}}} |
z position of breakpoints between linear functions in the endcap. | |
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. | |
double | m_endcapFieldZIntercept [2][15][5] {{{0}}} |
Intercepts of the linear approximation of Bz in the endcap. | |
double | m_endcapFieldRSlope [2][15][5] {{{0}}} |
Slopes of the linear approximation of Br in the endcap. | |
double | m_endcapFieldRIntercept [2][15][5] {{{0}}} |
Intercepts of the linear approximation of Br in the endcap. | |
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 |
Set the layer parameters.
bgapl0 | Barrel gap height for layer 0. |
bironth | Barrel iron thickness. |
egap | Endcap gap height. |
dl | Distance between two layers. |
Definition at line 102 of file BFieldComponentKlm1.h.
|
inline |
Sets the filename of the magnetic field map.
filename | The filename 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.
|
overridevirtual |
Terminates the magnetic field Component.
Reimplemented from BFieldComponentAbs.
Definition at line 164 of file BFieldComponentKlm1.cc.
|
private |
Intercept of Br before the beackpoint in the barrel.
Index indicates the current layer
Definition at line 167 of file BFieldComponentKlm1.h.
|
private |
Intercept of Br after the beackpoint in the barrel.
Index indicates the current layer
Definition at line 173 of file BFieldComponentKlm1.h.
|
private |
Slope of Br before the breakpoint in the barrel.
Index indicates the current layer
Definition at line 164 of file BFieldComponentKlm1.h.
|
private |
Slope of Br after the breakpoint in the barrel.
Index indicates the current layer
Definition at line 170 of file BFieldComponentKlm1.h.
|
private |
Intercept of Bz before the beackpoint in the barrel.
Index indicates the current layer
Definition at line 155 of file BFieldComponentKlm1.h.
|
private |
Intercept of Bz after the breakpoint in the barrel.
Index indicates the current layer
Definition at line 161 of file BFieldComponentKlm1.h.
|
private |
Slope of Bz before the breakpoint in the barrel.
Index indicates the current layer
Definition at line 152 of file BFieldComponentKlm1.h.
|
private |
Slope of Bz after the breakpoint in the barrel.
Index indicates the current layer
Definition at line 158 of file BFieldComponentKlm1.h.
|
private |
Gap height of BKLM layer0.
Definition at line 136 of file BFieldComponentKlm1.h.
|
private |
Thickness of Barrel iron plate.
Definition at line 142 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 149 of file BFieldComponentKlm1.h.
|
private |
The minimum boundaries of BKLM region in r.
Definition at line 122 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 146 of file BFieldComponentKlm1.h.
|
private |
The maximum boundaries of BKLM region in r.
Definition at line 124 of file BFieldComponentKlm1.h.
|
private |
cos(3pi/8)
Definition at line 112 of file BFieldComponentKlm1.h.
|
private |
cos(pi/4)
Definition at line 114 of file BFieldComponentKlm1.h.
|
private |
cos(pi/8)
Definition at line 110 of file BFieldComponentKlm1.h.
|
private |
depth of BKLM module?
Definition at line 140 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 205 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 200 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 195 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 190 of file BFieldComponentKlm1.h.
|
private |
Gap height of BKLM layer1-14.
Definition at line 138 of file BFieldComponentKlm1.h.
|
private |
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
Definition at line 184 of file BFieldComponentKlm1.h.
|
private |
The minimum boundaries of EKLM region in r.
Definition at line 126 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 179 of file BFieldComponentKlm1.h.
|
private |
The minimum boundaries of EKLM region in z.
Definition at line 128 of file BFieldComponentKlm1.h.
|
private |
The filename of the magnetic field map.
Definition at line 117 of file BFieldComponentKlm1.h.
|
private |
Offset required because the accelerator group defines the Belle center as zero.
Definition at line 119 of file BFieldComponentKlm1.h.
|
private |
The number of layers per 1 sector for BKLM.
Definition at line 131 of file BFieldComponentKlm1.h.
|
private |
The number of layers per 1 sector for EKLM.
Definition at line 133 of file BFieldComponentKlm1.h.