PLaSK library
Loading...
Searching...
No Matches
plask::MaterialsDB::MixedCompositionFactory Struct Referenceabstract

Base class for factories of alloy materials which construct their versions with mixed compositions and/or doping amounts. More...

#include <plask/material/db.hpp>

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

Public Member Functions

 MixedCompositionFactory (shared_ptr< const MaterialConstructor > constructor)
 Construct MixedCompositionFactory for given material constructor and two compositions for this constructor.
 
virtual ~MixedCompositionFactory ()
 
virtual shared_ptr< Materialoperator() (double m1_weight) const =0
 Construct material.
 
virtual shared_ptr< MaterialsingleMaterial () const =0
 Get material only if this factory represents solid material (if operator(double m1_weight) is independent from m1_weight).
 

Protected Attributes

shared_ptr< const MaterialConstructorconstructor
 

Detailed Description

Base class for factories of alloy materials which construct their versions with mixed compositions and/or doping amounts.

Definition at line 138 of file db.hpp.

Constructor & Destructor Documentation

◆ MixedCompositionFactory()

plask::MaterialsDB::MixedCompositionFactory::MixedCompositionFactory ( shared_ptr< const MaterialConstructor constructor)
inline

Construct MixedCompositionFactory for given material constructor and two compositions for this constructor.

Parameters
constructormaterial constructor

Definition at line 149 of file db.hpp.

◆ ~MixedCompositionFactory()

virtual plask::MaterialsDB::MixedCompositionFactory::~MixedCompositionFactory ( )
inlinevirtual

Definition at line 151 of file db.hpp.

Member Function Documentation

◆ operator()()

virtual shared_ptr< Material > plask::MaterialsDB::MixedCompositionFactory::operator() ( double  m1_weight) const
pure virtual

Construct material.

Parameters
m1_weightweight of first composition or doping amount
Returns
constructed material

Implemented in plask::MaterialsDB::MixedCompositionOnlyFactory, plask::MaterialsDB::MixedCompositionAndDopantFactory, and plask::MaterialsDB::MixedDopantFactory.

◆ singleMaterial()

virtual shared_ptr< Material > plask::MaterialsDB::MixedCompositionFactory::singleMaterial ( ) const
pure virtual

Get material only if this factory represents solid material (if operator(double m1_weight) is independent from m1_weight).

Returns
material or nullptr if it is not solid

Implemented in plask::MaterialsDB::MixedCompositionOnlyFactory, plask::MaterialsDB::MixedCompositionAndDopantFactory, plask::MaterialsDB::MixedDopantFactory, and plask::MaterialsDB::DummyMixedCompositionFactory.

Member Data Documentation

◆ constructor

shared_ptr<const MaterialConstructor> plask::MaterialsDB::MixedCompositionFactory::constructor
protected

Definition at line 142 of file db.hpp.


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