38#include "G4UIcmdWithAnInteger.hh"
39#include "G4UIcmdWithADouble.hh"
40#include "G4UIcmdWithADoubleAndUnit.hh"
41#include "G4UIcmdWith3VectorAndUnit.hh"
42#include "G4UIcmdWithoutParameter.hh"
44#include "G4FieldManager.hh"
49 : fEMfieldSetup(fieldSetup)
52 fFieldDir->SetGuidance(
"F01 field tracking control.");
55 fStepperCmd->SetGuidance(
"Select stepper type for magnetic field");
58 fStepperCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
61 fUpdateCmd->SetGuidance(
"Update calorimeter geometry.");
62 fUpdateCmd->SetGuidance(
"This command MUST be applied before \"beamOn\" ");
63 fUpdateCmd->SetGuidance(
"if you changed geometrical value(s).");
68 fMagFieldZCmd->SetGuidance(
"Magnetic field will be in Z direction.");
75 fMagFieldCmd->SetParameterName(
"Bx",
"By",
"Bz" ,
false,
false);
81 fMinStepCmd->SetGuidance(
"Magnetic field will be in Z direction.");
82 fMinStepCmd->SetParameterName(
"minStep",
false,
false);
97 G4bool omitable=
true, currentAsDefault=
false;
100 "Define minimum value of the relative integration error (EpsilonMin)"
101 " - a dimensionless number\n"
102 "Limit to ensure that large steps do NOT result in a very low value"
103 "(ie high accuracy) that integration needs many steps and CPU cycles.");
104 fEpsMinCmd->SetParameterName(
"minEpsilon",omitable,currentAsDefault);
110 "Define minimum value of the relative integration error (EpsilonMax)"
111 " - a dimensionless number\n"
112 "Limit to ensure a very small step does NOT result in a large relative"
113 " error (ie low accuracy) with unreliable results.");
114 fEpsMaxCmd->SetParameterName(
"maxEpsilon",omitable,currentAsDefault);
F01FieldMessenger allows interactive user control of.
Definition of the F01FieldSetup class.
G4UIcmdWithADoubleAndUnit * fMinStepCmd
~F01FieldMessenger() override
G4UIcmdWithADoubleAndUnit * fDeltaOneStepCmd
G4UIcmdWithAnInteger * fStepperCmd
G4UIcmdWithADoubleAndUnit * fMagFieldZCmd
G4UIcmdWithoutParameter * fUpdateCmd
F01FieldMessenger(F01FieldSetup *)
F01FieldSetup * fEMfieldSetup
void SetNewValue(G4UIcommand *, G4String) override
G4UIcmdWithADouble * fEpsMinCmd
G4UIcmdWithADouble * fEpsMaxCmd
G4UIdirectory * fFieldDir
G4UIcmdWith3VectorAndUnit * fMagFieldCmd
void SetMinStep(G4double s)
void CreateStepperAndChordFinder()
void SetFieldZValue(G4double fieldValue)
void SetStepperType(G4int i)
void SetEpsilonMax(G4double val)
void SetDeltaOneStep(G4double val)
void SetFieldValue(G4ThreeVector fieldVector)
void SetEpsilonMin(G4double val)