|
PLaSK library
|
Object of this class (inherited from it) construct material instance. More...
#include <plask/material/db.hpp>
Public Member Functions | |
| MaterialConstructor (const std::string &materialName) | |
| MaterialConstructor constructor. | |
| virtual shared_ptr< Material > | operator() (const Material::Composition &composition, double doping) const =0 |
| Create material. | |
| virtual bool | isAlloy () const =0 |
| virtual | ~MaterialConstructor () |
| void | ensureCompositionIsEmpty (const Material::Composition &composition) const |
| void | ensureNoDoping (double doping) const |
Public Attributes | |
| std::string | materialName |
| Full name (with optional dopant name) of material which this constructor can create. | |
Object of this class (inherited from it) construct material instance.
It produces materials of one type but with various composition and ammount of dopant.
|
inline |
MaterialConstructor constructor.
| materialName | full name (with optional dopant name) of material which this constructor can create |
|
inlinevirtual |
|
inline |
true only if this constructor creates simple material (does not use composition) Implemented in plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, true, true >, plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, true, false >, plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, false, true >, plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, false, false >, and plask::MaterialsDB::ProxyMaterialConstructor.
|
pure virtual |
Create material.
| composition | parsed amounts of objects, can be not completed (see Material::completeComposition), empty composition in case of simple materials |
| doping | amount of dopant |
Implemented in plask::MaterialsDB::ProxyMaterialConstructor, plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, true, true >, plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, true, false >, plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, false, true >, and plask::MaterialsDB::DelegateMaterialConstructor< MaterialType, false, false >.
| std::string plask::MaterialsDB::MaterialConstructor::materialName |