38#include "G4UIcmdWithAnInteger.hh"
39#include "G4UIcmdWithADoubleAndUnit.hh"
40#include "G4UIcmdWith3VectorAndUnit.hh"
41#include "G4UIcmdWithoutParameter.hh"
43#include "G4SystemOfUnits.hh"
48 : fEMfieldSetup(fieldSetup)
51 fFieldDir->SetGuidance(
"F03 field tracking control.");
54 fStepperCmd->SetGuidance(
"Select stepper type for magnetic field");
57 fStepperCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
60 fUpdateCmd->SetGuidance(
"Update calorimeter geometry.");
61 fUpdateCmd->SetGuidance(
"This command MUST be applied before \"beamOn\" ");
62 fUpdateCmd->SetGuidance(
"if you changed geometrical value(s).");
67 fMagFieldZCmd->SetGuidance(
"Global magnetic field will be in Z direction.");
73 fMagFieldCmd->SetGuidance(
"Define global magnetic field.");
74 fMagFieldCmd->SetParameterName(
"Bx",
"By",
"Bz",
false,
false);
86 fMinStepCmd->SetGuidance(
"Magnetic field will be in Z direction.");
87 fMinStepCmd->SetParameterName(
"min step",
false,
false);
117 G4cout <<
"Set global field value to " <<
124 G4cout <<
"Set global field value to " <<
132 G4cout <<
"Set local field value to " <<
Definition of the F03FieldMessenger class.
Definition of the F03FieldSetup class.
G4UIcmdWithAnInteger * fStepperCmd
G4UIdirectory * fFieldDir
G4UIcmdWith3VectorAndUnit * fLocalMagFieldCmd
G4UIcmdWithoutParameter * fUpdateCmd
G4UIcmdWith3VectorAndUnit * fMagFieldCmd
G4UIcmdWithADoubleAndUnit * fMagFieldZCmd
G4UIcmdWithADoubleAndUnit * fMinStepCmd
F03FieldMessenger(F03FieldSetup *)
void SetNewValue(G4UIcommand *, G4String) override
F03FieldSetup * fEMfieldSetup
~F03FieldMessenger() override
A class for setting up the Magnetic Field.
G4ThreeVector GetGlobalFieldValue() const
void SetMinStep(G4double s)
void SetFieldValue(G4ThreeVector fieldVector)
void SetLocalFieldValue(G4ThreeVector fieldVector)
void SetStepperType(G4int i)
G4ThreeVector GetLocalFieldValue() const
void SetFieldZValue(G4double fieldValue)