IODA Bundle
Transforms/Transform.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2020 NOAA/NWS/NCEP/EMC
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  */
7 
8 #pragma once
9 
10 #include <memory>
11 #include <vector>
12 
13 #include "IngesterTypes.h"
14 
15 namespace Ingester
16 {
17  /// \brief Base class for Transforms which are used to transform data. Transforms are useful
18  /// for getting data into the right units (for example you can convert Kelvin to Celsius)
19  class Transform
20  {
21  public:
22  ~Transform() = default;
23 
24  /// \brief Apply transform to the given data.
25  virtual void apply(IngesterArray& array) = 0;
26  };
27 
28  typedef std::vector <std::shared_ptr<Transform>> Transforms;
29 } // namespace Ingester
Base class for Transforms which are used to transform data. Transforms are useful for getting data in...
virtual void apply(IngesterArray &array)=0
Apply transform to the given data.
Eigen::Array< FloatType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > IngesterArray
Definition: IngesterTypes.h:19
std::vector< std::shared_ptr< Transform > > Transforms