PLaSK library

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
plask::MaterialsDB::MaterialConstructor Struct Referenceabstract

Object of this class (inherited from it) construct material instance. More...

`#include <plask/material/db.hpp>`

Inheritance diagram for plask::MaterialsDB::MaterialConstructor:
[legend]
Collaboration diagram for plask::MaterialsDB::MaterialConstructor:
[legend]

## 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.

## Detailed Description

Object of this class (inherited from it) construct material instance.

It produces materials of one type but with various composition and ammount of dopant.

Definition at line 98 of file db.hpp.

## Constructor & Destructor Documentation

## ◆ MaterialConstructor()

plask::MaterialsDB::MaterialConstructor::MaterialConstructor | ( | const std::string & | materialName | ) |
| inline

MaterialConstructor constructor.

Parameters

  materialName | full name (with optional dopant name) of material which this constructor can create

Definition at line 109 of file db.hpp.

## ◆ ~MaterialConstructor()

virtual plask::MaterialsDB::MaterialConstructor::~MaterialConstructor | ( |  | ) |
| inline virtual

Definition at line 124 of file db.hpp.

## Member Function Documentation

## ◆ ensureCompositionIsEmpty()

void plask::MaterialsDB::MaterialConstructor::ensureCompositionIsEmpty | ( | const Material::Composition & | composition | ) | const
| inline

Definition at line 126 of file db.hpp.

## ◆ ensureNoDoping()

void plask::MaterialsDB::MaterialConstructor::ensureNoDoping | ( | double | doping | ) | const
| inline

Definition at line 130 of file db.hpp.

## ◆ isAlloy()

virtual bool plask::MaterialsDB::MaterialConstructor::isAlloy | ( |  | ) | const
| pure virtual

Returns
  `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.

## ◆ operator()()

virtual shared_ptr< Material > plask::MaterialsDB::MaterialConstructor::operator() | ( | const Material::Composition & | composition,
|  | double | doping
| ) |  | const
| pure virtual

Create material.

Parameters

  composition | parsed amounts of objects, can be not completed (see Material::completeComposition), empty composition in case of simple materials
  doping | amount of dopant

Returns
  created material

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 >.

## Member Data Documentation

## ◆ materialName

std::string plask::MaterialsDB::MaterialConstructor::materialName

Full name (with optional dopant name) of material which this constructor can create.

Definition at line 103 of file db.hpp.

The documentation for this struct was generated from the following file:

- plask/material/db.hpp