C++ mpi module for stochmagnet_main Package
SM_Loader.h
1 #ifndef SM_Loader_H
2 #define SM_Loader_H
3 
4 //include the base class of the package
5 #include "CORE_Object.h"
6 
7 #include "SM_Beam.h"
8 #include "SM_System.h"
9 #include "SM_Network.h"
10 #include "SM_Material.h"
11 #include "SM_StochasticOutputComponent.h"
12 
18 class SM_Loader : public CORE_Object { // class
19 
20 
21  // ASSOCIATION
22 
23 
24 
25  // ATTRIBUTES
26 
27 private:
28 
29 
30  // ASSOCIATIONS
31 
32 
33 
34  // METHODS
35 
36 
37 public:
38  // CONSTRUCTORS
42  }
43 
44 
45 
46 
47  // DESTRUCTORS
51  virtual ~SM_Loader(void) {
52  }
53 
54 
55 
56 
57 
58 public:
59 
60 
61  //MEMORY
62 
76  virtual tMemSize getMemorySize() const override {
77  return sizeof(*this)+getContentsMemorySize();
78  }
79 
80 
81 
82 public:
83 
84  // OTHERS
92  static tBoolean LoadBeamFromOptions(SM_Beam& beam,const CORE_OptionsList& options);
93 
108  static tBoolean LoadSystemFromOptions(SM_System& system,const CORE_OptionsList& options);
109 
119  static tBoolean LoadNetworkFromOptions(SM_Network& network,
120  const SM_CrystalStructure& cStructure,
121  const CORE_OptionsList& options);
122 
134  static tBoolean LoadMaterialFromOptions(SM_Material& material,const CORE_OptionsList& options);
140  static tBoolean LoadCrystalStructureFromOptions(SM_CrystalStructure& cStructure,
141  const CORE_OptionsList& options);
147  static tBoolean LoadSystemOperatorsFromOptions(SM_System& system,const CORE_OptionsList& options);
148 
154 
161  static tBoolean LoadSystemNoiseFromOptions(SM_System& system,const CORE_OptionsList& options);
162 
171  static tBoolean LoadStochasticOutputFromOptions(SM_StochasticOutputComponent& outputSData,const CORE_OptionsList& options);
172 
173 
174 
175 
176 
177 
178 
179 
180 
181 
182 
183 };
184 
185 #endif
abstract base class for most classes.
Definition: CORE_Object.h:65
virtual tMemSize getContentsMemorySize() const
return nthe memory size of the included associations
Definition: CORE_Object.h:278
This class is an list of options.
Definition: CORE_OptionsList.h:36
This class defines a general stochastic beam of trajectories of system.
Definition: SM_Beam.h:61
This class decribe a crystal structure.
Definition: SM_CrystalStructure.h:30
this class loads classes of the package
Definition: SM_Loader.h:18
static tBoolean LoadSystemOperatorsFromOptions(SM_System &system, const CORE_OptionsList &options)
load the operators of the system
Definition: SM_Loader.cpp:457
static tBoolean LoadBeamFromOptions(SM_Beam &beam, const CORE_OptionsList &options)
load the beam from options
Definition: SM_Loader.cpp:6
static tBoolean LoadStochasticOutputFromOptions(SM_StochasticOutputComponent &outputSData, const CORE_OptionsList &options)
load the stochastic outputs for the runer
Definition: SM_Loader.cpp:543
static tBoolean LoadCrystalStructureFromOptions(SM_CrystalStructure &cStructure, const CORE_OptionsList &options)
load crystal structure from options
Definition: SM_Loader.cpp:323
virtual tMemSize getMemorySize() const override
return the memory size of the class and the memory size of all its attributes/associations
Definition: SM_Loader.h:76
virtual ~SM_Loader(void)
destroy a SM_Loader
Definition: SM_Loader.h:51
SM_Loader()
build a SM_Loader
Definition: SM_Loader.h:41
static tBoolean LoadSystemFromOptions(SM_System &system, const CORE_OptionsList &options)
load the system from options
Definition: SM_Loader.cpp:58
static tBoolean LoadSystemInitialMagneticMomentDirectionsFromOptions(SM_System &system, const CORE_OptionsList &options)
load the dierction of initial magnetic moments of the system
Definition: SM_Loader.cpp:107
static tBoolean LoadNetworkFromOptions(SM_Network &network, const SM_CrystalStructure &cStructure, const CORE_OptionsList &options)
load the network from options
Definition: SM_Loader.cpp:343
static tBoolean LoadMaterialFromOptions(SM_Material &material, const CORE_OptionsList &options)
load the material form options
Definition: SM_Loader.cpp:239
static tBoolean LoadSystemNoiseFromOptions(SM_System &system, const CORE_OptionsList &options)
load the noise of the system
Definition: SM_Loader.cpp:518
This class describes a materials defined by state attributes:
Definition: SM_Material.h:61
This class is describes a network composed by.
Definition: SM_Network.h:66
This class stores stochastic outpus computed for each trajectory of a simulation of trajectories of a...
Definition: SM_StochasticOutputComponent.h:36
This class is a one simulation of a beam for Stoch Magnet package.
Definition: SM_System.h:53