46 fDirectory->SetGuidance(
"Global uniform magnetic field UI commands");
49 fSetValueCmd->SetGuidance(
"Set uniform magnetic field value.");
50 fSetValueCmd->SetParameterName(
"Bx",
"By",
"By",
false);
51 fSetValueCmd->SetUnitCategory(
"Magnetic flux density");
55 fSetVerboseCmd->SetGuidance(
"Set verbose level: ");
56 fSetVerboseCmd->SetGuidance(
" 0: no output");
57 fSetVerboseCmd->SetGuidance(
" 1: printing new field value");
58 fSetVerboseCmd->SetParameterName(
"globalFieldVerbose",
false);
59 fSetVerboseCmd->SetRange(
"globalFieldVerbose>=0");
66 SetField(value,
"G4GlobalMagFieldMessenger::G4GlobalMagFieldMessenger");
75 delete fSetVerboseCmd;
81void G4GlobalMagFieldMessenger::SetField(
const G4ThreeVector& value,
94 if ( fVerboseLevel > 0 )
96 G4cout <<
"Magnetic field is inactive, fieldValue = (0,0,0)." <<
G4endl;
101 fMagField->SetFieldValue(value);
105 if ( fVerboseLevel > 0 )
107 G4cout <<
"Magnetic field is active, fieldValue = ("
118 if ( command == fSetValueCmd )
120 SetField(fSetValueCmd->GetNew3VectorValue(newValue),
121 "G4GlobalMagFieldMessenger::SetNewValue");
123 else if ( command == fSetVerboseCmd )
133 SetField(value,
"G4GlobalMagFieldMessenger::SetFieldValue");
140 if ( fMagField !=
nullptr ) {
return fMagField->GetConstantFieldValue(); }
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
G4FieldManager is a manager (store) for a pointer to the Field subclass that describes the field of a...
G4bool SetDetectorField(G4Field *detectorField, G4int failMode=0)
void CreateChordFinder(G4MagneticField *detectorMagField)
void SetVerboseLevel(G4int verboseLevel)
~G4GlobalMagFieldMessenger() override
void SetNewValue(G4UIcommand *, G4String) override
G4ThreeVector GetFieldValue() const
G4GlobalMagFieldMessenger(const G4ThreeVector &value=G4ThreeVector())
void SetFieldValue(const G4ThreeVector &value)
static G4TransportationManager * GetTransportationManager()
G4FieldManager * GetFieldManager() const