C++ mpi module for stochmagnet_main Package
SMOMPI_CrystalStructuresGridBuilder.h
1 #ifndef SMOMPI_CrystalStructuresGridBuilder_H
2 #define SMOMPI_CrystalStructuresGridBuilder_H
3 
4 //super class header
5 #include "SM_CrystalStructuresGridBuilder.h"
6 
7 
8 //parser header for domain expression
9 #include "EXPR_Parser.h"
10 
26 
27  //attributes
28 private :
29  //classes definition
30 
33 
34 
35 
36 protected:
37 
38  // CONSTRUCTORS
42 
43 
44 
45  }
46 
47  // DESTRUCTORS
51  }
52 
53 public :
54 
55  //Instance building
56  //=================
57 
58 
63  static inline CORE_UniquePointer<SelfClass> New() {
64  CORE_UniquePointer<SelfClass> p(new SelfClass(),SelfClass::Delete());
65  return p;
66  }
67 
68 
69  //MEMORY
70 
84  virtual tMemSize getMemorySize() const {
85  return sizeof(*this)+getContentsMemorySize();
86  }
87 
96  virtual tMemSize getContentsMemorySize() const {
97  tMemSize mem=SuperClass::getContentsMemorySize();
98 
99  return mem;
100  }
101 
102 
103  //SET & GET
104  //==========
105 
106 
107 
108  //network builder
109  //============================
110 
111 
112 
121  virtual void buildNetwork(const SM_CrystalStructure& cStructure,
122  const std::array<tBoolean,SM_Constants::DIM>& isPeriodic,
123  const std::array<tReal,SM_Constants::DIM>& X0,
124  const std::array<tInteger,SM_Constants::DIM>& Ns,
125  const std::valarray<tMask>& mask,
126  SM_Network& network) final;
127 
128 
129 
130 
131 
132 
133 };
134 
135 #endif
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:113
This class builds a grid of crystal structure with OMP/MPI implementation. It implements the virtual ...
Definition: SMOMPI_CrystalStructuresGridBuilder.h:25
SMOMPI_CrystalStructuresGridBuilder(void)
create a network class
Definition: SMOMPI_CrystalStructuresGridBuilder.h:41
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: SMOMPI_CrystalStructuresGridBuilder.h:84
virtual ~SMOMPI_CrystalStructuresGridBuilder(void)
destroy
Definition: SMOMPI_CrystalStructuresGridBuilder.h:50
static CORE_UniquePointer< SelfClass > New()
create a new unique instance of This class
Definition: SMOMPI_CrystalStructuresGridBuilder.h:63
virtual tMemSize getContentsMemorySize() const
return the memory size of the included associations
Definition: SMOMPI_CrystalStructuresGridBuilder.h:96
virtual void buildNetwork(const SM_CrystalStructure &cStructure, const std::array< tBoolean, SM_Constants::DIM > &isPeriodic, const std::array< tReal, SM_Constants::DIM > &X0, const std::array< tInteger, SM_Constants::DIM > &Ns, const std::valarray< tMask > &mask, SM_Network &network) final
build the network from a grid paver and a mask on crystal structure on grid
Definition: SMOMPI_CrystalStructuresGridBuilder.cpp:21
This class decribe a crystal structure.
Definition: SM_CrystalStructure.h:30
This class build a grid of structure.
Definition: SM_CrystalStructuresGridBuilder.h:17
virtual tMemSize getContentsMemorySize() const
return the memory size of the included associations
Definition: SM_CrystalStructuresGridBuilder.h:79
This class is describes a network composed by.
Definition: SM_Network.h:66