6 #define MAPPED_FIELD_H 1 9 #include "G4MagneticField.hh" 20 #include "CLHEP/Units/PhysicalConstants.h" 21 using namespace CLHEP;
28 gcoord(
string nm,
unsigned int n,
double m,
double M,
string u,
int s)
48 cout << gc.
name <<
": np=" << gc.
np ;
52 cout <<
", min=" << gc.
min/cm <<
" cm" 53 <<
", max=" << gc.
max/cm <<
" cm";
55 if(gc.
unit ==
"deg" || gc.
unit ==
"rad" )
57 cout <<
", min=" << gc.
min/degree <<
" deg" 58 <<
", max=" << gc.
max/degree <<
" deg";
61 cout <<
", index speed=" << gc.
speed << endl;
86 interpolation =
"none";
117 void initializeMap();
119 gcoord getCoordinateWithSpeed(
int speed);
120 gcoord getCoordinateWithName(
string name);
123 void GetFieldValue(
const double x[3],
double *Bfield)
const;
125 void GetFieldValue_Dipole(
const double x[3],
double *Bfield,
int FIRST_ONLY)
const;
126 void GetFieldValue_Cylindrical(
const double x[3],
double *Bfield,
int FIRST_ONLY)
const;
127 void GetFieldValue_phiSegmented(
const double x[3],
double *Bfield,
int FIRST_ONLY)
const;
int verbosity
map verbosity
string unit
field unit in the map
gMappedField(string i, string s)
double scaleFactor
copy of the gfield scaleFactor
gcoord(string nm, unsigned int n, double m, double M, string u, int s)
vector< gcoord > coordinates
Vector size depend on the symmetry.
string interpolation
map interpolation technique. Choices are "none", "linear", "quadratic"
string symmetry
map symmetry
string identifier
Pointer to map in factory (for example, hostname / filename with path / date)
friend ostream & operator<<(ostream &stream, gcoord gc)