43 fval(0),
pos(0), slope(0), intercept(0) {
46 G4cout <<
" ==> Opening file " << filename <<
" to read magnetic field..."
48 G4String pathName = getenv(
"CCAL_GLOBALPATH");
56 G4cout <<
"Field value " <<
fval <<
" # points " <<
npts <<
" offset in x "
68 G4cout <<
tab <<
"Position " << i <<
" " <<
pos[i] <<
" Slope "
69 <<
slope[i] <<
" Intercept " << intercept[i] <<
G4endl;
104 for (i=0; i<
npts; i++) {
105 if (xnew >
pos[i]*
mm) {
112 if (scor < 0.) scor = 0.;
113 if (scor > 1.) scor = 1.0;
117 G4cout <<
"Field at x: " << x[0]/
mm <<
"mm (" << xnew <<
") = " << B[2]/
tesla
118 <<
"T (m = " << m1 <<
", c = " <<
c1 <<
", scale = " << scor <<
")"
bool openGeomFile(std::ifstream &is, const G4String &pathname, const G4String &filename)
virtual void GetFieldValue(const double Point[3], double *Bfield) const
std::ifstream & findDO(std::ifstream &, const G4String &)
G4GLOB_DLL std::ostream G4cout
std::ostream & tab(std::ostream &)
void MagneticField(const double Point[3], double Bfield[3]) const
static const double tesla
static const double kilogauss
CCalMagneticField(const G4String &name)
static const G4double pos