#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 |
|
inline |
Definition at line 64 of file MagneticFieldGrid.h.
int MagneticFieldGrid::gridType | ( | ) |
returns value of GridType (and eventually prints the type + short description)
Definition at line 77 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 97 of file MagneticFieldGrid.cc.
References VectorFieldInterpolation::defineCellPoint000(), VectorFieldInterpolation::defineCellPoint001(), VectorFieldInterpolation::defineCellPoint010(), VectorFieldInterpolation::defineCellPoint011(), VectorFieldInterpolation::defineCellPoint100(), VectorFieldInterpolation::defineCellPoint101(), VectorFieldInterpolation::defineCellPoint110(), VectorFieldInterpolation::defineCellPoint111(), dqmMemoryStats::float, mps_fire::i, SiStripPI::max, and VectorFieldInterpolation::putSCoordGetVField().
Referenced by GlobalGridWrapper::valueInTesla().
int MagneticFieldGrid::lineNumber | ( | int | Index1, |
int | Index2, | ||
int | Index3 | ||
) |
Definition at line 310 of file MagneticFieldGrid.cc.
void MagneticFieldGrid::load | ( | const std::string & | name | ) |
load grid binary file
Definition at line 7 of file MagneticFieldGrid.cc.
References cms::cuda::assert(), binary_ifstream::close(), gather_cfg::cout, Skims_PA_cff::name, 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 156 of file MagneticFieldGrid.cc.
References cms::cuda::assert(), mps_fire::i, createfilelist::int, dqmiolumiharvest::j, hltrates_dqm_sourceclient-live_cfg::offset, funct::sin(), and l1tSlwPFPuppiJets_cfi::sinPhi.
void MagneticFieldGrid::putIndGetCoord | ( | int | Index1, |
int | Index2, | ||
int | Index3, | ||
double & | X1, | ||
double & | X2, | ||
double & | X3 | ||
) |
Definition at line 243 of file MagneticFieldGrid.cc.
References cms::cuda::assert(), mps_fire::i, dqmiolumiharvest::j, hltrates_dqm_sourceclient-live_cfg::offset, funct::sin(), and l1tSlwPFPuppiJets_cfi::sinPhi.
void MagneticFieldGrid::putIndicesGetB | ( | int | Index1, |
int | Index2, | ||
int | Index3, | ||
float & | Bx, | ||
float & | By, | ||
float & | Bz | ||
) |
Definition at line 233 of file MagneticFieldGrid.cc.
References MagneticFieldGrid::BVector::bx(), MagneticFieldGrid::BVector::by(), and MagneticFieldGrid::BVector::bz().
|
private |
Definition at line 105 of file MagneticFieldGrid.h.
|
private |
Definition at line 106 of file MagneticFieldGrid.h.
|
private |
Definition at line 107 of file MagneticFieldGrid.h.
|
private |
Definition at line 109 of file MagneticFieldGrid.h.
|
private |
Definition at line 111 of file MagneticFieldGrid.h.
|
private |
Definition at line 101 of file MagneticFieldGrid.h.
|
private |
Definition at line 103 of file MagneticFieldGrid.h.
|
private |
Definition at line 104 of file MagneticFieldGrid.h.
|
private |
Definition at line 108 of file MagneticFieldGrid.h.