C++ mpi module for stochmagnet_main Package
SM_NoiseRateFunction.h
1 #ifndef SM_NoiseRateFunction_H
2 #define SM_NoiseRateFunction_H
3 
4 #include "SM_NoiseRateFunctionInterface.h"
5 
13 template<class DerivedClass>
15 
16  // ATTRIBUTES
17 
18 public:
19 
20 
21 
22 private:
23 
24 
25 
26 protected:
27  // METHODS
28 
29  // CONSTRUCTORS
30 
34 
35  }
36 private:
42 
43  }
44 
45 
46 
47  // DESTRUCTORS
48 protected:
49 
52  virtual ~SM_NoiseRateFunction(void) {
53  }
54 
55 
56 public:
57 
58 
59  //MEMORY
60 
74  virtual tMemSize getMemorySize() const {
75  return sizeof(*this)+getContentsMemorySize();
76  }
77 
78  // SET methods
79 
80 
81 
82 
83 
84 public:
85  // OTHERS methods
86 
91  inline tReal computeSCFunction(const tReal& t) const {
92  return static_cast<const DerivedClass*>(this)->computeSCFunction(t);
93  }
94 public:
99  virtual tReal computeFunction(const tReal& t) const final {
100  return computeSCFunction(t);
101  }
102 
103 
104 
105 };
106 
107 #endif
virtual tMemSize getContentsMemorySize() const
return nthe memory size of the included associations
Definition: CORE_Object.h:278
This class describes a noise rate function.
Definition: SM_NoiseRateFunctionInterface.h:13
This class describes a templated noise rate function as static polymorphism.
Definition: SM_NoiseRateFunction.h:14
virtual tReal computeFunction(const tReal &t) const final
compute the noise rate function
Definition: SM_NoiseRateFunction.h:99
virtual ~SM_NoiseRateFunction(void)
destroy
Definition: SM_NoiseRateFunction.h:52
SM_NoiseRateFunction(void)
create
Definition: SM_NoiseRateFunction.h:33
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: SM_NoiseRateFunction.h:74
tReal computeSCFunction(const tReal &t) const
compute the noise rate function by static polymorphism
Definition: SM_NoiseRateFunction.h:91