RAVE
compositeengineqc.h File Reference

Contains definitions useful when adding qc-handling to composite factories. More...

#include "cartesian.h"
#include "cartesianvolume.h"
#include "compositearguments.h"
#include "rave_attribute.h"
#include "rave_object.h"
#include "rave_types.h"
#include "rave_value.h"
#include "raveobject_list.h"
#include "raveobject_hashtable.h"
#include "rave_properties.h"
#include "projection_pipeline.h"
#include "composite_utils.h"
#include "compositeenginebase.h"
#include <strings.h>

Go to the source code of this file.

Classes

struct  _CompositeEngineQcHandler_t
 CompositeEngineQcHandler. More...
 

Macros

#define COMPOSITE_ENGINE_QC_HANDLER_HEAD
 Header to add to all subclasses of this instance.
 
#define CompositeEngineQcHandler_getQualityFieldName(self)
 Macro expansion for calling the name function.
 
#define CompositeEngineQcHandler_initialize(self, extradata, properties, arguments, bindings, nbindings)
 Macro expansion for calling the initialize function.
 
#define CompositeEngineQcHandler_getQualityValue(self, extradata, args, obj, quantity, qfieldname, navinfo, v)
 Macro expansion for calling the getQualityValue function.
 
#define CompositeEngineQcHandler_getFlagDefinition(self)
 Macro expansion for calling the getFlagDefinition function.
 

Typedefs

typedef const char *(* composite_engine_qc_handler_getQualityFieldName_fun) (struct _CompositeEngineQcHandler_t *self)
 
typedef int(* composite_engine_qc_handler_initialize_fun) (struct _CompositeEngineQcHandler_t *self, void *extradata, RaveProperties_t *properties, CompositeArguments_t *arguments, CompositeEngineObjectBinding_t *bindings, int nbindings)
 
typedef int(* composite_engine_qc_handler_getQualityValue_fun) (struct _CompositeEngineQcHandler_t *self, void *extradata, CompositeArguments_t *arguments, RaveCoreObject *object, const char *quantity, const char *qiFieldName, PolarNavigationInfo *navinfo, double *qivalue)
 
typedef CompositeQualityFlagDefinition_t *(* composite_engine_qc_handler_getFlagDefinition_fun) (struct _CompositeEngineQcHandler_t *self)
 
typedef struct _CompositeEngineQcHandler_t CompositeEngineQcHandler_t
 CompositeEngineQcHandler.
 

Functions

RaveObjectHashTable_tCompositeEngineQc_getQualityScanFields (CompositeEngineObjectBinding_t *bindings, int nbindings, const char *qualityFieldName)
 Will traverse all objects in the list and atempt to find a scan that contains a quality field that has got a how/task value == qualityFieldName.
 

Variables

RaveCoreObjectType CompositeEngineOvershootingQcHandler_TYPE
 Type definition to use when creating a rave object.
 

Detailed Description

Contains definitions useful when adding qc-handling to composite factories.

Author
Anders Henja (Swedish Meteorological and Hydrological Institute, SMHI)
Date
2025-02-26

Macro Definition Documentation

◆ COMPOSITE_ENGINE_QC_HANDLER_HEAD

#define COMPOSITE_ENGINE_QC_HANDLER_HEAD
Value:
composite_engine_qc_handler_getQualityFieldName_fun getQualityFieldName; \
composite_engine_qc_handler_initialize_fun initialize; \
composite_engine_qc_handler_getQualityValue_fun getQualityValue; \
composite_engine_qc_handler_getFlagDefinition_fun getFlagDefinition;

Header to add to all subclasses of this instance.

Should be placed below the RAVE_OBJECT_HEAD. See implementation of CompositeEngineQcHandler_t. returns the flag definition for this quality field

◆ CompositeEngineQcHandler_getFlagDefinition

#define CompositeEngineQcHandler_getFlagDefinition ( self)
Value:
((CompositeEngineQcHandler_t*)self)->getFlagDefinition((CompositeEngineQcHandler_t*)self)
struct _CompositeEngineQcHandler_t CompositeEngineQcHandler_t
CompositeEngineQcHandler.

Macro expansion for calling the getFlagDefinition function.

Parameters
[in]self- self
Returns
the flag definition on sucess otherwise NULL

◆ CompositeEngineQcHandler_getQualityFieldName

#define CompositeEngineQcHandler_getQualityFieldName ( self)
Value:
((CompositeEngineQcHandler_t*)self)->getQualityFieldName((CompositeEngineQcHandler_t*)self)

Macro expansion for calling the name function.

Parameters
[in]self- self
Returns
the unique name for this algorithm

◆ CompositeEngineQcHandler_getQualityValue

#define CompositeEngineQcHandler_getQualityValue ( self,
extradata,
args,
obj,
quantity,
qfieldname,
navinfo,
v )
Value:
((CompositeEngineQcHandler_t*)self)->getQualityValue((CompositeEngineQcHandler_t*)self, extradata, args, obj, quantity, qfieldname, navinfo, v)

Macro expansion for calling the getQualityValue function.

Parameters
[in]self- self
Returns
1 on success otherwise 0

◆ CompositeEngineQcHandler_initialize

#define CompositeEngineQcHandler_initialize ( self,
extradata,
properties,
arguments,
bindings,
nbindings )
Value:
((CompositeEngineQcHandler_t*)self)->initialize((CompositeEngineQcHandler_t*)self, extradata, properties, arguments, bindings, nbindings)

Macro expansion for calling the initialize function.

Parameters
[in]self- self
Returns
1 on success otherwise 0

Typedef Documentation

◆ CompositeEngineQcHandler_t

CompositeEngineQcHandler.

Function Documentation

◆ CompositeEngineQc_getQualityScanFields()

RaveObjectHashTable_t * CompositeEngineQc_getQualityScanFields ( CompositeEngineObjectBinding_t * bindings,
int nbindings,
const char * qualityFieldName )

Will traverse all objects in the list and atempt to find a scan that contains a quality field that has got a how/task value == qualityFieldName.

All scans that contains such a field will get a scan set in the resulting hash table with the quality data set as the default (and only) parameter.

Parameters
[in]bindings- the bindings array
[in]nbindings- number of bindings in array
[in]qualifyFieldName- name of quality field that is searched for
Returns
a hash table

Variable Documentation

◆ CompositeEngineOvershootingQcHandler_TYPE

RaveCoreObjectType CompositeEngineOvershootingQcHandler_TYPE
extern

Type definition to use when creating a rave object.