#include <MagneticFieldGrid.h>
Classes | |
class | BVector |
class | HeaderType3 |
Public Member Functions | |
int | gridType () |
returns value of GridType (and eventually prints the type + short description) More... | |
void | interpolateAtPoint (double X1, double X2, double X3, float &Bx, float &By, float &Bz) |
interpolates the magnetic field at input coordinate point and returns field values More... | |
int | lineNumber (int Index1, int Index2, int Index3) |
void | load (const std::string &name) |
load grid binary file More... | |
MagneticFieldGrid () | |
void | putCoordGetInd (double X1, double X2, double X3, int &Index1, int &Index2, int &Index3) |
void | putIndGetCoord (int Index1, int Index2, int Index3, double &X1, double &X2, double &X3) |
void | putIndicesGetB (int Index1, int Index2, int Index3, float &Bx, float &By, float &Bz) |
~MagneticFieldGrid () | |
Private Attributes | |
double | BasicDistance0 [3] |
double | BasicDistance1 [3][3] |
double | BasicDistance2 [3][3] |
bool | EasyCoordinate [3] |
std::vector< BVector > | FieldValues |
int | GridType |
int | NumberOfPoints [3] |
double | ReferencePoint [3] |
double | RParAsFunOfPhi [4] |
load magnetic field grid from binary file remark: units are either (cm,cm,cm) or (cm,rad,cm) and Tesla for the magnetic field
additional functions either translate indices <-> coordinates, transfer data, or activate the interpolation between grid points
Modifications:
Definition at line 32 of file MagneticFieldGrid.h.
|
inline |
Definition at line 35 of file MagneticFieldGrid.h.
|
inline |
Definition at line 46 of file MagneticFieldGrid.h.
int MagneticFieldGrid::gridType | ( | ) |
returns value of GridType (and eventually prints the type + short description)
Definition at line 74 of file MagneticFieldGrid.cc.
References gather_cfg::cout, and runonSM::text.
Referenced by GlobalGridWrapper::valueInTesla().
void MagneticFieldGrid::interpolateAtPoint | ( | double | X1, |
double | X2, | ||
double | X3, | ||
float & | Bx, | ||
float & | By, | ||
float & | Bz | ||
) |
interpolates the magnetic field at input coordinate point and returns field values
Definition at line 88 of file MagneticFieldGrid.cc.
References VectorFieldInterpolation::defineCellPoint000(), VectorFieldInterpolation::defineCellPoint001(), VectorFieldInterpolation::defineCellPoint010(), VectorFieldInterpolation::defineCellPoint011(), VectorFieldInterpolation::defineCellPoint100(), VectorFieldInterpolation::defineCellPoint101(), VectorFieldInterpolation::defineCellPoint110(), VectorFieldInterpolation::defineCellPoint111(), i, getHLTprescales::index, max(), and VectorFieldInterpolation::putSCoordGetVField().
Referenced by GlobalGridWrapper::valueInTesla().
int MagneticFieldGrid::lineNumber | ( | int | Index1, |
int | Index2, | ||
int | Index3 | ||
) |
Definition at line 285 of file MagneticFieldGrid.cc.
void MagneticFieldGrid::load | ( | const std::string & | name | ) |
load grid binary file
Definition at line 6 of file MagneticFieldGrid.cc.
References binary_ifstream::close(), gather_cfg::cout, submitDQMOfflineCAF::nLines, and MagneticFieldGrid::BVector::putB3().
Referenced by GlobalGridWrapper::GlobalGridWrapper().
void MagneticFieldGrid::putCoordGetInd | ( | double | X1, |
double | X2, | ||
double | X3, | ||
int & | Index1, | ||
int & | Index2, | ||
int & | Index3 | ||
) |
Definition at line 145 of file MagneticFieldGrid.cc.
References i, getHLTprescales::index, j, evf::evtn::offset(), and funct::sin().
void MagneticFieldGrid::putIndGetCoord | ( | int | Index1, |
int | Index2, | ||
int | Index3, | ||
double & | X1, | ||
double & | X2, | ||
double & | X3 | ||
) |
Definition at line 223 of file MagneticFieldGrid.cc.
References i, getHLTprescales::index, j, evf::evtn::offset(), and funct::sin().
void MagneticFieldGrid::putIndicesGetB | ( | int | Index1, |
int | Index2, | ||
int | Index3, | ||
float & | Bx, | ||
float & | By, | ||
float & | Bz | ||
) |
Definition at line 213 of file MagneticFieldGrid.cc.
References MagneticFieldGrid::BVector::bx(), MagneticFieldGrid::BVector::by(), and MagneticFieldGrid::BVector::bz().
|
private |
Definition at line 84 of file MagneticFieldGrid.h.
|
private |
Definition at line 85 of file MagneticFieldGrid.h.
|
private |
Definition at line 86 of file MagneticFieldGrid.h.
|
private |
Definition at line 88 of file MagneticFieldGrid.h.
|
private |
Definition at line 90 of file MagneticFieldGrid.h.
|
private |
Definition at line 80 of file MagneticFieldGrid.h.
|
private |
Definition at line 82 of file MagneticFieldGrid.h.
|
private |
Definition at line 83 of file MagneticFieldGrid.h.
|
private |
Definition at line 87 of file MagneticFieldGrid.h.