IODA Bundle
oops::LinearModelMaker< MODEL, T > Class Template Reference

#include <LinearModelBase.h>

Inheritance diagram for oops::LinearModelMaker< MODEL, T >:
[legend]
Collaboration diagram for oops::LinearModelMaker< MODEL, T >:
[legend]

Public Member Functions

 LinearModelMaker (const std::string &name)
 
- Public Member Functions inherited from oops::LinearModelFactory< MODEL >
virtual ~LinearModelFactory ()=default
 

Private Types

typedef TParameters_IfAvailableElseFallbackType_t< T, GenericLinearModelParametersParameters_
 
typedef Geometry< MODEL > Geometry_
 

Private Member Functions

LinearModelBase< MODEL > * make (const Geometry_ &geom, const LinearModelParametersBase &parameters) override
 
std::unique_ptr< LinearModelParametersBasemakeParameters () const override
 

Additional Inherited Members

- Static Public Member Functions inherited from oops::LinearModelFactory< MODEL >
static LinearModelBase< MODEL > * create (const Geometry_ &, const LinearModelParametersBase &parameters)
 Create and return a new tangent linear model. More...
 
static std::unique_ptr< LinearModelParametersBasecreateParameters (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 inherited from oops::LinearModelFactory< MODEL >
 LinearModelFactory (const std::string &name)
 Register a maker able to create tangent linear models of type name. More...
 

Detailed Description

template<class MODEL, class T>
class oops::LinearModelMaker< MODEL, T >

Definition at line 204 of file LinearModelBase.h.

Member Typedef Documentation

◆ Geometry_

template<class MODEL , class T >
typedef Geometry<MODEL> oops::LinearModelMaker< MODEL, T >::Geometry_
private

Definition at line 210 of file LinearModelBase.h.

◆ Parameters_

template<class MODEL , class T >
typedef TParameters_IfAvailableElseFallbackType_t<T, GenericLinearModelParameters> oops::LinearModelMaker< MODEL, T >::Parameters_
private

Defined as T::Parameters_ if T defines a Parameters_ type; otherwise as GenericLinearModelParameters.

Definition at line 208 of file LinearModelBase.h.

Constructor & Destructor Documentation

◆ LinearModelMaker()

template<class MODEL , class T >
oops::LinearModelMaker< MODEL, T >::LinearModelMaker ( const std::string &  name)
inlineexplicit

Definition at line 224 of file LinearModelBase.h.

Member Function Documentation

◆ make()

template<class MODEL , class T >
LinearModelBase<MODEL>* oops::LinearModelMaker< MODEL, T >::make ( const Geometry_ geom,
const LinearModelParametersBase parameters 
)
inlineoverrideprivatevirtual

Implements oops::LinearModelFactory< MODEL >.

Definition at line 212 of file LinearModelBase.h.

Here is the call graph for this function:

◆ makeParameters()

template<class MODEL , class T >
std::unique_ptr<LinearModelParametersBase> oops::LinearModelMaker< MODEL, T >::makeParameters ( ) const
inlineoverrideprivatevirtual

Implements oops::LinearModelFactory< MODEL >.

Definition at line 219 of file LinearModelBase.h.


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