EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <east/blob/main/Core/include/eASTMagneticField.hh>
Public Member Functions | |
eASTMagneticFieldMap (const G4String &name) | |
~eASTMagneticFieldMap ()=default | |
bool | Load (const G4String &filename) |
void | GetFieldValue (const G4double point[4], G4double *field) const |
void | AddFieldValue (const G4double point[4], G4double *field) const |
void | PrintFieldValue (const G4ThreeVector &point) |
void | SetFieldUnit (const G4String &unit) |
void | SetGridUnit (unsigned int i, const G4String &unit) |
void | SetGridExtent (unsigned int i, const G4ThreeVector &extent) |
void | SetInterpolationType (const G4String &type) |
EInterpolationType | GetInterpolationType () const |
Private Types | |
enum | EFileFormat { kFileFormatUndefined, kFileFormatRZPhi, kFileFormatRZ } |
enum | EInterpolationType { kLinear, kCubic } |
Private Member Functions | |
double | _linearInterpolate (const double p[2<< 0], double x) const |
double | _bilinearInterpolate (const double p[2<< 1], const double x[2]) const |
double | _trilinearInterpolate (const double p[2<< 2], const double x[3]) const |
double | _cubicInterpolate (const double p[4<< 0], double x) const |
double | _bicubicInterpolate (const double p[4<< 1], const double x[2]) const |
double | _tricubicInterpolate (const double p[4<< 2], const double x[3]) const |
Private Attributes | |
G4String | fName {""} |
G4GenericMessenger | fFieldMapMessenger |
EFileFormat | fFileFormat {kFileFormatUndefined} |
double | fFieldUnit {CLHEP::tesla} |
std::array< double, 3 > | fGridUnit {CLHEP::cm, CLHEP::cm, CLHEP::deg} |
std::array< std::tuple< double, double, double >, 3 > | fGridExtent |
std::array< unsigned int, 3 > | fGridSize {0,0,0} |
std::vector< std::vector < std::vector< std::vector < double > > > > | fMap |
EInterpolationType | fInterpolationType {kLinear} |
Static Private Attributes | |
static const int | kLinearMap [8][3] |
static const int | kCubicMap [64][3] |
Definition at line 28 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 28 of file eASTMagneticField.hh
|
private |
Definition at line 72 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 72 of file eASTMagneticField.hh
|
private |
Definition at line 112 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 112 of file eASTMagneticField.hh
eASTMagneticFieldMap::eASTMagneticFieldMap | ( | const G4String & | name | ) |
Definition at line 62 of file eASTMagneticField.cc.
View newest version in sPHENIX GitHub at line 62 of file eASTMagneticField.cc
References fFieldMapMessenger, Load(), PrintFieldValue(), SetFieldUnit(), SetGridExtent(), SetGridUnit(), and SetInterpolationType().
|
default |
|
inlineprivate |
Definition at line 151 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 151 of file eASTMagneticField.hh
References _cubicInterpolate(), c, and p.
Referenced by _tricubicInterpolate().
|
inlineprivate |
Definition at line 132 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 132 of file eASTMagneticField.hh
References _linearInterpolate(), c, and p.
Referenced by _trilinearInterpolate().
|
inlineprivate |
Definition at line 146 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 146 of file eASTMagneticField.hh
References p.
Referenced by _bicubicInterpolate(), and _tricubicInterpolate().
|
inlineprivate |
Definition at line 129 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 129 of file eASTMagneticField.hh
References p.
Referenced by _bilinearInterpolate(), and _trilinearInterpolate().
|
inlineprivate |
Definition at line 159 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 159 of file eASTMagneticField.hh
References _bicubicInterpolate(), _cubicInterpolate(), c, and p.
|
inlineprivate |
Definition at line 138 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 138 of file eASTMagneticField.hh
References _bilinearInterpolate(), _linearInterpolate(), c, and p.
Referenced by AddFieldValue().
void eASTMagneticFieldMap::AddFieldValue | ( | const G4double | point[4], |
G4double * | field | ||
) | const |
Definition at line 188 of file eASTMagneticField.cc.
View newest version in sPHENIX GitHub at line 188 of file eASTMagneticField.cc
References _trilinearInterpolate(), cos(), fFileFormat, fGridExtent, fGridSize, fGridUnit, fInterpolationType, fMap, kCubic, kCubicMap, kFileFormatRZPhi, kLinear, kLinearMap, n, and Acts::Test::values.
Referenced by GetFieldValue(), and PrintFieldValue().
|
inline |
Definition at line 51 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 51 of file eASTMagneticField.hh
References AddFieldValue().
|
inline |
Definition at line 122 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 122 of file eASTMagneticField.hh
References fInterpolationType.
bool eASTMagneticFieldMap::Load | ( | const G4String & | filename | ) |
Definition at line 85 of file eASTMagneticField.cc.
View newest version in sPHENIX GitHub at line 85 of file eASTMagneticField.cc
References fFieldUnit, fFileFormat, fGridExtent, fGridSize, fMap, run_skim::inputfile, kFileFormatRZ, kFileFormatRZPhi, kFileFormatUndefined, and vector().
Referenced by eASTMagneticFieldMap().
void eASTMagneticFieldMap::PrintFieldValue | ( | const G4ThreeVector & | point | ) |
Definition at line 269 of file eASTMagneticField.cc.
View newest version in sPHENIX GitHub at line 269 of file eASTMagneticField.cc
References AddFieldValue(), Acts::UnitConstants::m, and p.
Referenced by eASTMagneticFieldMap().
|
inline |
Definition at line 86 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 86 of file eASTMagneticField.hh
References fFieldUnit.
Referenced by eASTMagneticFieldMap().
|
inline |
Definition at line 96 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 96 of file eASTMagneticField.hh
References fGridExtent.
Referenced by eASTMagneticFieldMap().
|
inline |
Definition at line 89 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 89 of file eASTMagneticField.hh
References fGridExtent, and fGridUnit.
Referenced by eASTMagneticFieldMap().
|
inline |
Definition at line 118 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 118 of file eASTMagneticField.hh
References fInterpolationType, kCubic, and kLinear.
Referenced by eASTMagneticFieldMap().
|
private |
Definition at line 67 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 67 of file eASTMagneticField.hh
Referenced by eASTMagneticFieldMap().
|
private |
Definition at line 78 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 78 of file eASTMagneticField.hh
Referenced by Load(), and SetFieldUnit().
|
private |
Definition at line 73 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 73 of file eASTMagneticField.hh
Referenced by AddFieldValue(), and Load().
|
private |
Definition at line 80 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 80 of file eASTMagneticField.hh
Referenced by AddFieldValue(), Load(), SetGridExtent(), and SetGridUnit().
|
private |
Definition at line 81 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 81 of file eASTMagneticField.hh
Referenced by AddFieldValue(), and Load().
|
private |
Definition at line 79 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 79 of file eASTMagneticField.hh
Referenced by AddFieldValue(), and SetGridUnit().
|
private |
Definition at line 113 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 113 of file eASTMagneticField.hh
Referenced by AddFieldValue(), GetInterpolationType(), and SetInterpolationType().
|
private |
Definition at line 107 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 107 of file eASTMagneticField.hh
Referenced by AddFieldValue(), and Load().
|
private |
Definition at line 43 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 43 of file eASTMagneticField.hh
|
staticprivate |
Definition at line 38 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 38 of file eASTMagneticField.hh
Referenced by AddFieldValue().
|
staticprivate |
Definition at line 37 of file eASTMagneticField.hh.
View newest version in sPHENIX GitHub at line 37 of file eASTMagneticField.hh
Referenced by AddFieldValue().