Belle II Software development
|
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. | |
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 | setMapSize (int sizeR, int sizeZ) |
Sets the size of the magnetic field map. | |
void | setMapRegionZ (double minZ, double maxZ, double offset) |
Sets the size of the magnetic field map. | |
void | setMapRegionR (double minR, double maxR) |
Sets the size of the magnetic field map. | |
void | setGridPitch (double pitchR, double pitchZ) |
Sets the grid pitch of the magnetic field map. | |
void | setKlmParameters (double srmin, double zyoke, double gaph, double iront) |
Sets parameter for EKLM. | |
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 34 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 103 of file BFieldComponentRadial.h.
|
inline |
Sets parameter 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 113 of file BFieldComponentRadial.h.
|
inline |
Sets the filename of the magnetic field map.
filename | The filename of the magnetic field map. |
Definition at line 74 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 96 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 89 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 81 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.
|
private |
minimum Z of endyoke
Definition at line 134 of file BFieldComponentRadial.h.
|
private |
height of the gap in endyoke
Definition at line 135 of file BFieldComponentRadial.h.
|
private |
The grid pitch in r.
Definition at line 128 of file BFieldComponentRadial.h.
|
private |
The grid pitch in z.
Definition at line 129 of file BFieldComponentRadial.h.
|
private |
The reciprocal of grid pitch in r.
Definition at line 130 of file BFieldComponentRadial.h.
|
private |
The reciprocal of grid pitch in z.
Definition at line 131 of file BFieldComponentRadial.h.
|
private |
reciprocal of height of the layer (gap + iron plate) in endyoke
Definition at line 138 of file BFieldComponentRadial.h.
|
private |
thickness of iron plate in endyoke
Definition at line 136 of file BFieldComponentRadial.h.
|
private |
height of the layer (gap + iron plate) in endyoke
Definition at line 137 of file BFieldComponentRadial.h.
|
private |
The memory buffer for the magnetic field map.
Definition at line 123 of file BFieldComponentRadial.h.
|
private |
The filename of the magnetic field map.
Definition at line 122 of file BFieldComponentRadial.h.
|
private |
Offset required because the accelerator group defines the Belle center as zero.
Definition at line 126 of file BFieldComponentRadial.h.
|
private |
The min and max boundaries of the map region in r.
Definition at line 127 of file BFieldComponentRadial.h.
|
private |
The min and max boundaries of the map region in z.
Definition at line 125 of file BFieldComponentRadial.h.
|
private |
The size of the map in r and z.
Definition at line 124 of file BFieldComponentRadial.h.
|
private |
minimum radius for the gap in endyoke
Definition at line 133 of file BFieldComponentRadial.h.