|
IODA Bundle
|
Tangent linear model factory. More...
#include <LinearModelBase.h>
Public Member Functions | |
| virtual | ~LinearModelFactory ()=default |
Static Public Member Functions | |
| static LinearModelBase< MODEL > * | create (const Geometry_ &, const LinearModelParametersBase ¶meters) |
| Create and return a new tangent linear model. More... | |
| static std::unique_ptr< LinearModelParametersBase > | createParameters (const std::string &name) |
| Create and return an instance of the subclass of LinearModelParametersBase storing parameters of tangent linear models of the specified type. More... | |
| static std::vector< std::string > | getMakerNames () |
| Return the names of all tangent linear models that can be created by one of the registered makers. More... | |
Protected Member Functions | |
| LinearModelFactory (const std::string &name) | |
Register a maker able to create tangent linear models of type name. More... | |
Private Types | |
| typedef Geometry< MODEL > | Geometry_ |
Private Member Functions | |
| virtual LinearModelBase< MODEL > * | make (const Geometry_ &, const LinearModelParametersBase &)=0 |
| virtual std::unique_ptr< LinearModelParametersBase > | makeParameters () const =0 |
Static Private Member Functions | |
| static std::map< std::string, LinearModelFactory< MODEL > * > & | getMakers () |
Tangent linear model factory.
Definition at line 162 of file LinearModelBase.h.
|
private |
Definition at line 163 of file LinearModelBase.h.
|
virtualdefault |
|
explicitprotected |
Register a maker able to create tangent linear models of type name.
Definition at line 230 of file LinearModelBase.h.
|
static |
Create and return a new tangent linear model.
The model's type is determined by the name attribute of parameters. parameters must be an instance of the subclass of LinearModelParametersBase associated with that model type, otherwise an exception will be thrown.
Definition at line 240 of file LinearModelBase.h.
|
static |
Create and return an instance of the subclass of LinearModelParametersBase storing parameters of tangent linear models of the specified type.
Definition at line 263 of file LinearModelBase.h.
|
inlinestatic |
Return the names of all tangent linear models that can be created by one of the registered makers.
Definition at line 180 of file LinearModelBase.h.
|
inlinestaticprivate |
|
privatepure virtual |
Implemented in oops::LinearModelMaker< MODEL, T >.
|
privatepure virtual |
Implemented in oops::LinearModelMaker< MODEL, T >.