36 fFieldComponents[0] = FieldVector.
x();
37 fFieldComponents[1] = FieldVector.
y();
38 fFieldComponents[2] = FieldVector.
z();
44 for (
auto i=0; i<3; ++i)
46 fFieldComponents[i] = p.fFieldComponents[i];
52 if (&p ==
this) {
return *
this;}
54 for (
auto i=0; i<3; ++i)
56 fFieldComponents[i] = p.fFieldComponents[i];
65 fFieldComponents[2]) );
71 fFieldComponents[0] = newFieldVector.
x();
72 fFieldComponents[1] = newFieldVector.
y();
73 fFieldComponents[2] = newFieldVector.
z();
80 if ( (vField<0) || (vTheta<0) || (vTheta>pi) || (vPhi<0) || (vPhi>twopi) )
82 std::ostringstream msg;
83 msg <<
"ERROR in G4UniformMagField::G4UniformMagField() : "
84 <<
"Invalid parameter(s). " << std::endl;
85 msg <<
" Expected " << std::endl;
87 msg <<
" - Magnitude vField: Value = " << vField
88 <<
" Expected vField > 0 " ;
89 if ( vField<0) { msg <<
" <------ Erroneous "; }
92 msg <<
" - Theta angle: Value = " << vTheta
93 <<
" Expected between 0 <= theta <= pi = " << pi <<
" ";
94 if ( (vTheta<0) || (vTheta>pi) ) { msg <<
" <------ Erroneous "; }
97 msg <<
" - Phi angle: Value = " << vPhi
98 <<
" Expected between 0 <= phi <= 2*pi = " << twopi << std::endl;
99 if ( (vPhi<0) || (vPhi>twopi) ) { msg <<
" <------ Erroneous "; }
101 G4Exception(
"G4UniformMagField::G4UniformMagField()",
104 fFieldComponents[0] = vField*std::sin(vTheta)*std::cos(vPhi) ;
105 fFieldComponents[1] = vField*std::sin(vTheta)*std::sin(vPhi) ;
106 fFieldComponents[2] = vField*std::cos(vTheta) ;
114 B[0]= fFieldComponents[0];
115 B[1]= fFieldComponents[1];
116 B[2]= fFieldComponents[2];
123 fFieldComponents[2]);
G4double B(G4double temperature)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
CLHEP::Hep3Vector G4ThreeVector
G4Field(G4bool gravityOn=false)
G4MagneticField & operator=(const G4MagneticField &p)