C++ mpi module for stochmagnet_main Package
SMOMPI_LandauLifschitzBeam.h
1 #ifndef SMOMPI_LandauLifschitzBeam_H
2 #define SMOMPI_LandauLifschitzBeam_H
3 
4 //base class
5 #include "SM_LandauLifschitzBeam.h"
6 
7 //system header
8 #include "SMOMPI_LandauLifschitzSystem.h"
9 
21 
22  //attributes
23 private :
27 
28 
29 protected:
30  // CONSTRUCTORS
34  }
35  // DESTRUCTORS
39  }
40 public :
41  // CREATE an unique pointer of the class this
42 
46  inline static CORE_UniquePointer<Self> New() {
47  return CORE_UniquePointer<Self>(new Self(),
48  Self::Delete());
49  }
50 
51  //MEMORY
52 
66  virtual tMemSize getMemorySize() const override {
67  return sizeof(*this)+getContentsMemorySize();
68  }
69 
78  virtual tMemSize getContentsMemorySize() const override {
79  tMemSize mem=SuperClass::getContentsMemorySize();
80 
81  return mem;
82  }
83 
84  //system set & get
85  //=================
86 
87  //beam runner
88  //============
94  template<class StochOutputImplement>
96 
104  template<class StochFunctionsImplement, class StochOutputImplement>
107 
117  template<class StochFunctionsImplement, class NoiseRateFunctionImplement,class StochOutputImplement>
119  const SM_NoiseRateFunction<NoiseRateFunctionImplement>& noiseRateFunction,
121 
122 
123 
124 };
125 
126 
127 #include "SMOMPI_LandauLifschitzBeam.hpp"
128 #endif
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:113
This class describes an OpenMP/MPI implementation simulation of a beam of trajectoris for a Laudau-Li...
Definition: SMOMPI_LandauLifschitzBeam.h:20
virtual tMemSize getContentsMemorySize() const override
return the memory size of the included associations
Definition: SMOMPI_LandauLifschitzBeam.h:78
SMOMPI_LandauLifschitzBeam(void)
create
Definition: SMOMPI_LandauLifschitzBeam.h:33
tBoolean runWithSCStochasticFunctions(SM_StochasticOutput< StochOutputImplement > &outputSData)
run the simulations with static inline casting noise rate function & stochastic function
Definition: SMOMPI_LandauLifschitzBeam.hpp:16
virtual ~SMOMPI_LandauLifschitzBeam(void)
destroy
Definition: SMOMPI_LandauLifschitzBeam.h:38
static CORE_UniquePointer< Self > New()
build an unique pointer of the class this
Definition: SMOMPI_LandauLifschitzBeam.h:46
virtual tMemSize getMemorySize() const override
return the memory size of the class and the memory size of all its attributes/associations
Definition: SMOMPI_LandauLifschitzBeam.h:66
This class describes an MPI implementation of SM_LandauLifschitzSystem.
Definition: SMOMPI_LandauLifschitzSystem.h:18
This class is a simulation of a beam of trajectories form a laudau-Lifschitz system.
Definition: SM_LandauLifschitzBeam.h:20
virtual tMemSize getContentsMemorySize() const override
return the memory size of the included associations
Definition: SM_LandauLifschitzBeam.h:71
This class describes a multi stochastic functions based on same random number generator which impleme...
Definition: SM_MultiStochasticFunctions.h:26
This class describes a templated noise rate function as static polymorphism.
Definition: SM_NoiseRateFunction.h:14
this class implements the virtual methods of its base class SM_StochasticOutputComponent with templat...
Definition: SM_StochasticOutput.h:24