![]() |
Belle II Software
release-06-02-00
|
The BFieldComponentRadial class. More...
#include <BFieldComponentRadial.h>
Classes | |
struct | BFieldPoint |
Magnetic field data structure. More... | |
Public Member Functions | |
BFieldComponentRadial ()=default | |
The BFieldComponentRadial constructor. | |
virtual | ~BFieldComponentRadial ()=default |
The BFieldComponentRadial 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. More... | |
void | setMapFilename (const std::string &filename) |
Sets the filename of the magnetic field map. More... | |
void | setMapSize (int sizeR, int sizeZ) |
Sets the size of the magnetic field map. More... | |
void | setMapRegionZ (double minZ, double maxZ, double offset) |
Sets the size of the magnetic field map. More... | |
void | setMapRegionR (double minR, double maxR) |
Sets the size of the magnetic field map. More... | |
void | setGridPitch (double pitchR, double pitchZ) |
Sets the grid pitch of the magnetic field map. More... | |
void | setKlmParameters (double srmin, double zyoke, double gaph, double iront) |
Sets prameter for EKLM. More... | |
Private Attributes | |
std::string | m_mapFilename {""} |
The filename of the magnetic field map. | |
std::vector< BFieldPoint > | m_mapBuffer |
The memory buffer for the magnetic field map. | |
int | m_mapSize [2] {0} |
The size of the map in r and z. | |
double | m_mapRegionZ [2] {0} |
The min and max boundaries of the map region in z. | |
double | m_mapOffset {0} |
Offset required because the accelerator group defines the Belle center as zero. | |
double | m_mapRegionR [2] {0} |
The min and max boundaries of the map region in r. | |
double | m_gridPitchR {0} |
The grid pitch in r. | |
double | m_gridPitchZ {0} |
The grid pitch in z. | |
double | m_igridPitchR {0} |
The reciprocal of grid pitch in r. | |
double | m_igridPitchZ {0} |
The reciprocal of grid pitch in z. | |
double | m_slotRMin {0} |
minimum radius for the gap in endyoke | |
double | m_endyokeZMin {0} |
minimum Z of endyoke | |
double | m_gapHeight {0} |
height of the gap in endyoke | |
double | m_ironPlateThickness {0} |
thickness of iron plate in endyoke | |
double | m_Layer {0} |
height of the layer (gap + iron plate) in endyoke | |
double | m_iLayer {0} |
reciprocal of height of the layer (gap + iron plate) in endyoke | |
The BFieldComponentRadial class.
This class represents a radial magnetic field map. The magnetic field map is stored as a grid in cylindrical coordinates. It is defined by a minimum radius and a maximum radius, a minimum z and a maximum z value, a pitch size in both, r and z, and the number of grid points. 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. The filename points to the zip file containing the magnetic field map.
Definition at line 33 of file BFieldComponentRadial.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 86 of file BFieldComponentRadial.cc.
|
overridevirtual |
Initializes the magnetic field component.
This method opens the magnetic field map file.
Reimplemented from BFieldComponentAbs.
Definition at line 25 of file BFieldComponentRadial.cc.
|
inline |
Sets the grid pitch of the magnetic field map.
pitchR | The pitch of the grid in r [cm]. |
pitchZ | The pitch of the grid in z [cm]. |
Definition at line 102 of file BFieldComponentRadial.h.
|
inline |
Sets prameter for EKLM.
srmin | minimum radius for the gap in endyoke [cm]. |
zyoke | minimum Z of endyoke [cm]. |
gaph | height of the gap in endyoke [cm]. |
iront | thickness of iron plate in endyoke [cm]. |
Definition at line 112 of file BFieldComponentRadial.h.
|
inline |
Sets the filename of the magnetic field map.
filename | The filname of the magnetic field map. |
Definition at line 73 of file BFieldComponentRadial.h.
|
inline |
Sets the size of the magnetic field map.
minR | The left (min) border of the magnetic field map region in r [cm]. |
maxR | The right (max) border of the magnetic field map region in r [cm]. |
Definition at line 95 of file BFieldComponentRadial.h.
|
inline |
Sets the size of the magnetic field map.
minZ | The left (min) border of the magnetic field map region in z [cm]. |
maxZ | The right (max) border of the magnetic field map region in z [cm]. |
offset | The offset in z [cm] which is required because the accelerator group defines the Belle center as zero. |
Definition at line 88 of file BFieldComponentRadial.h.
|
inline |
Sets the size of the magnetic field map.
sizeR | The number of points in the r direction. |
sizeZ | The number of points in the z direction. |
Definition at line 80 of file BFieldComponentRadial.h.
|
overridevirtual |
Terminates the magnetic field component.
This method closes the magnetic field map file.
Reimplemented from BFieldComponentAbs.
Definition at line 164 of file BFieldComponentRadial.cc.