52 fAnalysisManager(analysisManager),
54 fSetPrecisionForConvergenceTestCmd(0),
55 fSetExpSpectrumToNormaliseAdjResCmd(0),
56 fSetPowerLawSpectrumToNormaliseAdjResCmd(0)
63 fluence_par->
SetGuidance(
"Omnidirectional fluence for primary spectrum");
86 new G4UIcommand(
"/RMC01/analysis/SetPowerLawPrimSpectrumForAdjointSim",
this);
88 ->
SetGuidance(
"Set the primary spectrum to which adjoint simulation "
89 "results will be normalised as a power law (Ekin^-alpha).");
102 "SetExponentialSpectrumForAdjointSim",
this);
104 ->
SetGuidance(
"Set the primary spectrum to which adjoint simulation results"
105 "will be normalised as exponential (exp(-Ekin/E0)).");
125 "SetExpectedPrecisionOfResults",
this);
127 ->
SetGuidance(
"Set the precision in % that the computed energy deposited "
128 "in the sensitive volume should reached. If this precision is reached"
129 " before the end of the run, the run is aborted and the results are "
151 const char* nv = (
const char*)newValue;
152 std::istringstream is(nv);
153 is >> part_name>>fluence>>f_unit>>alpha>>e1>>e2>>e_unit;
156 if (f_unit ==
"1/m2" || f_unit ==
"m-2") factor_f_unit=1/
m2;
157 fluence*=factor_f_unit;
161 part_name, fluence, alpha, e1, e2);
166 const char* nv = (
const char*)newValue;
167 std::istringstream is(nv);
168 is >> part_name>>fluence>>f_unit>>e0>>e1>>e2>>e_unit;
171 if (f_unit ==
"1/m2" || f_unit ==
"m-2") factor_f_unit=1/
m2;
173 fluence*=factor_f_unit;
179 fluence, e0, e1, e2);
G4UIcommand * fSetExpSpectrumToNormaliseAdjResCmd
void SetGuidance(const char *aGuidance)
static constexpr double m2
RMC01AnalysisManager * fAnalysisManager
G4UIdirectory * fAnalysisDir
static G4double GetNewDoubleValue(const char *paramString)
void SetGuidance(const char *theGuidance)
void SetParameterRange(const char *theRange)
G4UIcommand * fSetPowerLawSpectrumToNormaliseAdjResCmd
void SetParameter(G4UIparameter *const newParameter)
static constexpr double cm2
RMC01AnalysisManagerMessenger(RMC01AnalysisManager *)
virtual ~RMC01AnalysisManagerMessenger()
static const G4double alpha
static G4double GetValueOf(const G4String &)
void SetPrecision(G4double precision)
void SetPrimaryExpSpectrumForAdjointSim(const G4String &particle_name, G4double fluence, G4double E0, G4double Emin, G4double Emax)
void SetPrimaryPowerLawSpectrumForAdjointSim(const G4String &particle_name, G4double fluence, G4double alpha, G4double Emin, G4double Emax)
Definition of the RMC01AnalysisManager class.
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
virtual void SetNewValue(G4UIcommand *, G4String)
G4UIcmdWithADouble * fSetPrecisionForConvergenceTestCmd
Definition of the RMC01AnalysisManagerMessenger class.
void SetParameterCandidates(const char *theString)
void AvailableForStates(G4ApplicationState s1)