OOPS
oops::CovarMaker< MODEL, COVAR > Class Template Reference

#include <ModelSpaceCovarianceBase.h>

Inheritance diagram for oops::CovarMaker< MODEL, COVAR >:
Collaboration diagram for oops::CovarMaker< MODEL, COVAR >:

Public Member Functions

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

Private Types

typedef TParameters_IfAvailableElseFallbackType_t< COVAR, GenericModelSpaceCovarianceParameters< MODEL > > Parameters_
 
typedef Geometry< MODEL > Geometry_
 
typedef State< MODEL > State_
 

Private Member Functions

ModelSpaceCovarianceBase< MODEL > * make (const ModelSpaceCovarianceParametersBase< MODEL > &params, const Geometry_ &resol, const Variables &vars, const State_ &xb, const State_ &fg) override
 
std::unique_ptr< ModelSpaceCovarianceParametersBase< MODEL > > makeParameters () const override
 

Additional Inherited Members

- Static Public Member Functions inherited from oops::CovarianceFactory< MODEL >
static ModelSpaceCovarianceBase< MODEL > * create (const ModelSpaceCovarianceParametersBase< MODEL > &, const Geometry_ &, const Variables &, const State_ &, const State_ &)
 Create and return a new covariance model. More...
 
static ModelSpaceCovarianceBase< MODEL > * create (const eckit::Configuration &, const Geometry_ &, const Variables &, const State_ &, const State_ &)
 Create and return a new covariance model. More...
 
static std::unique_ptr< ModelSpaceCovarianceParametersBase< MODEL > > createParameters (const std::string &covarianceModel)
 Create and return an instance of the subclass of ModelSpaceCovarianceParametersBase storing parameters of the specified covariance model. More...
 
static std::vector< std::string > getMakerNames ()
 Return the names of all covariance models that can be created by one of the registered makers. More...
 
- Protected Member Functions inherited from oops::CovarianceFactory< MODEL >
 CovarianceFactory (const std::string &name)
 Register a maker able to create covariance models of type name. More...
 

Detailed Description

template<class MODEL, class COVAR>
class oops::CovarMaker< MODEL, COVAR >

Definition at line 197 of file ModelSpaceCovarianceBase.h.

Member Typedef Documentation

◆ Geometry_

template<class MODEL , class COVAR >
typedef Geometry<MODEL> oops::CovarMaker< MODEL, COVAR >::Geometry_
private

Definition at line 203 of file ModelSpaceCovarianceBase.h.

◆ Parameters_

template<class MODEL , class COVAR >
typedef TParameters_IfAvailableElseFallbackType_t< COVAR, GenericModelSpaceCovarianceParameters<MODEL> > oops::CovarMaker< MODEL, COVAR >::Parameters_
private

Defined as T::Parameters_ if COVAR defines a Parameters_ type; otherwise as GenericModelSpaceCovarianceParameters<MODEL>.

Definition at line 201 of file ModelSpaceCovarianceBase.h.

◆ State_

template<class MODEL , class COVAR >
typedef State<MODEL> oops::CovarMaker< MODEL, COVAR >::State_
private

Definition at line 204 of file ModelSpaceCovarianceBase.h.

Constructor & Destructor Documentation

◆ CovarMaker()

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

Definition at line 221 of file ModelSpaceCovarianceBase.h.

Member Function Documentation

◆ make()

template<class MODEL , class COVAR >
ModelSpaceCovarianceBase<MODEL>* oops::CovarMaker< MODEL, COVAR >::make ( const ModelSpaceCovarianceParametersBase< MODEL > &  params,
const Geometry_ resol,
const Variables vars,
const State_ xb,
const State_ fg 
)
inlineoverrideprivatevirtual

Implements oops::CovarianceFactory< MODEL >.

Definition at line 206 of file ModelSpaceCovarianceBase.h.

◆ makeParameters()

template<class MODEL , class COVAR >
std::unique_ptr<ModelSpaceCovarianceParametersBase<MODEL> > oops::CovarMaker< MODEL, COVAR >::makeParameters ( ) const
inlineoverrideprivatevirtual

Implements oops::CovarianceFactory< MODEL >.

Definition at line 216 of file ModelSpaceCovarianceBase.h.


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