5 template<
class System,
class StochOutputImplement>
7 tString routineName=
"SM_Beam::run<S,O>";
13 System& system=*
dynamic_cast<System*
>(&
getSystem());
16 if (!outputSData.
open(*
this)) {
17 std::cout<<
"stochastic output "<<outputSData.
getIdentityString()<<
" not compatible with the system \n";
28 if (!system.initializeMagneticMomentDirections()) {
30 "SM_Beam::run(SM_StochasticOutput<StochOutputImplement>& outputSData)",
31 "initialization of S(t=0) failed");
37 outputSData.
open(0,system);
40 ok= ok && system.deterministicRun(mPreconditioningStepsNumber+mStepsNumber,outputSData);
44 outputSData.
close(0,system,ok);
55 for (tIndex s=s0;s<s1;s++) {
59 if (!system.initializeMagneticMomentDirections()) {
61 "SM_Beam::run(SM_StochasticOutput<StochOutputImplement>& outputSData)",
62 "initialization of S(t=0) failed");
65 outputSData.
open(s,system);
69 ok=system.stochasticRun(mPreconditioningStepsNumber,sf);
74 ok= ok && system.stochasticRun(mStepsNumber,sf,outputSData);
77 outputSData.
close(s,system,ok);
83 outputSData.
close(*
this);
this class describes the exceptions raised for CORE package
Definition: CORE_Exception.h:17
tString getIdentityString() const
retrun the string identification of the class
Definition: CORE_Object.h:321
static void EndCallRoutine(const tString &routineName)
end calling routine
Definition: CORE_Profiler.h:91
static void StartCallRoutine(const tString &routineName)
start calling routine
Definition: CORE_Profiler.h:61
const SM_System & getSystem() const
get the system
Definition: SM_Beam.h:264
tBoolean run(SM_StochasticOutput< StochOutputImplement > &outputSData)
run the simulations
Definition: SM_Beam.hpp:6
const SM_MultiStochasticFunctionsInterface & getStochasticFunctions() const
get the stochastic functions
Definition: SM_Beam.h:236
tBoolean hasStochasticFunctions() const
return true if the beam has a stochastic function
Definition: SM_Beam.h:230
const tIndex & getBeamSize() const
get the beam size
Definition: SM_Beam.h:166
This class describes a multi stochastic functions based on same random number generator which impleme...
Definition: SM_MultiStochasticFunctionsInterface.h:18
this class implements the virtual methods of its base class SM_StochasticOutputComponent with templat...
Definition: SM_StochasticOutput.h:24
tBoolean close(const tIndex &s, const SM_System &system, const tBoolean &hasSucceeded)
close the stochastic data for the simulation s
Definition: SM_StochasticOutput.h:172
tBoolean open(const SM_Beam &beam)
open the stochastic data
Definition: SM_StochasticOutput.h:147