IODA Bundle
oops::FilterMaker< OBS, T > Class Template Reference

#include <ObsFilterBase.h>

Inheritance diagram for oops::FilterMaker< OBS, T >:
[legend]
Collaboration diagram for oops::FilterMaker< OBS, T >:
[legend]

Public Member Functions

 FilterMaker (const std::string &name)
 
- Public Member Functions inherited from oops::FilterFactory< OBS >
virtual ~FilterFactory ()=default
 

Private Types

typedef TParameters_IfAvailableElseFallbackType_t< T, GenericObsFilterParametersParameters_
 
typedef ObsSpace< OBS > ObsSpace_
 
template<typename DATA >
using ObsDataPtr_ = std::shared_ptr< ObsDataVector< OBS, DATA > >
 

Private Member Functions

ObsFilterBase< OBS > * make (const ObsSpace_ &os, const ObsFilterParametersBase &params, ObsDataPtr_< int > &flags, ObsDataPtr_< float > &obserr) override
 
std::unique_ptr< ObsFilterParametersBasemakeParameters () const override
 

Additional Inherited Members

- Static Public Member Functions inherited from oops::FilterFactory< OBS >
static std::shared_ptr< ObsFilterBase< OBS > > create (const ObsSpace_ &, const ObsFilterParametersBase &params, ObsDataPtr_< int > flags=ObsDataPtr_< int >(), ObsDataPtr_< float > obserr=ObsDataPtr_< float >())
 Create and return a new observation filter. More...
 
static std::shared_ptr< ObsFilterBase< OBS > > create (const ObsSpace_ &, const eckit::Configuration &, ObsDataPtr_< int > flags=ObsDataPtr_< int >(), ObsDataPtr_< float > obserr=ObsDataPtr_< float >())
 Create and return a new observation filter. More...
 
static std::unique_ptr< ObsFilterParametersBasecreateParameters (const std::string &name)
 Create and return an instance of the subclass of ObsFilterParametersBase storing parameters of observation filters of the specified type. More...
 
static std::vector< std::string > getMakerNames ()
 Return the names of all filters that can be created by one of the registered makers. More...
 
- Protected Member Functions inherited from oops::FilterFactory< OBS >
 FilterFactory (const std::string &name)
 Register a maker able to create observation filters of type name. More...
 

Detailed Description

template<class OBS, class T>
class oops::FilterMaker< OBS, T >

Definition at line 162 of file ObsFilterBase.h.

Member Typedef Documentation

◆ ObsDataPtr_

template<class OBS , class T >
template<typename DATA >
using oops::FilterMaker< OBS, T >::ObsDataPtr_ = std::shared_ptr<ObsDataVector<OBS, DATA> >
private

Definition at line 168 of file ObsFilterBase.h.

◆ ObsSpace_

template<class OBS , class T >
typedef ObsSpace<OBS> oops::FilterMaker< OBS, T >::ObsSpace_
private

Definition at line 167 of file ObsFilterBase.h.

◆ Parameters_

template<class OBS , class T >
typedef TParameters_IfAvailableElseFallbackType_t<T, GenericObsFilterParameters> oops::FilterMaker< OBS, T >::Parameters_
private

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

Definition at line 165 of file ObsFilterBase.h.

Constructor & Destructor Documentation

◆ FilterMaker()

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

Definition at line 184 of file ObsFilterBase.h.

Member Function Documentation

◆ make()

template<class OBS , class T >
ObsFilterBase<OBS>* oops::FilterMaker< OBS, T >::make ( const ObsSpace_ os,
const ObsFilterParametersBase params,
ObsDataPtr_< int > &  flags,
ObsDataPtr_< float > &  obserr 
)
inlineoverrideprivatevirtual

Implements oops::FilterFactory< OBS >.

Definition at line 170 of file ObsFilterBase.h.

◆ makeParameters()

template<class OBS , class T >
std::unique_ptr<ObsFilterParametersBase> oops::FilterMaker< OBS, T >::makeParameters ( ) const
inlineoverrideprivatevirtual

Implements oops::FilterFactory< OBS >.

Definition at line 179 of file ObsFilterBase.h.


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