source: XIOS/dev/dev_ym/XIOS_COUPLING/src/transformation/scalar_algorithm/scalar_algorithm_reduce_scalar.hpp @ 2232

Last change on this file since 2232 was 2145, checked in by yushan, 3 years ago

Big commit on graph functionality. Add algo name for showing in the workflow graph

  • Property svn:executable set to *
File size: 1.8 KB
RevLine 
[1985]1/*!
2   \file scalar_algorithm_reduce_scalar.hpp
3   \brief Algorithm for reduce an scalar to a scalar
4 */
5#ifndef __XIOS_SCALAR_ALGORITHM_REDUCE_SCALAR_HPP__
6#define __XIOS_SCALAR_ALGORITHM_REDUCE_SCALAR_HPP__
7
[2011]8#include "algorithm_transformation_reduce.hpp"
[1985]9#include "transformation.hpp"
10
11namespace xios {
12
13class CScalar;
14class CReduceScalarToScalar;
15class CReductionAlgorithm;
16
17/*!
18  \class CScalarAlgorithmReduceScalar
19  Reducing an scalar to a scalar
20*/
[2011]21class CScalarAlgorithmReduceScalar : public CAlgorithmTransformationReduce
[1985]22{
23public:
[1988]24  CScalarAlgorithmReduceScalar(bool isSource, CScalar* scalarDestination, CScalar* scalarSource, CReduceScalarToScalar* algo);
[1985]25
26  virtual ~CScalarAlgorithmReduceScalar();
27
28  static bool registerTrans();
[2145]29
30  virtual StdString getAlgoName() {return "\\nreduce_scalar";}
[1985]31protected:
[2011]32 
[1985]33
[2011]34public:
[1985]35  static CGenericAlgorithmTransformation* create(bool isSource, CGrid* gridDst, CGrid* gridSrc,
36                                                CTransformation<CScalar>* transformation,
37                                                int elementPositionInGrid,
38                                                std::map<int, int>& elementPositionInGridSrc2ScalarPosition,
39                                                std::map<int, int>& elementPositionInGridSrc2AxisPosition,
40                                                std::map<int, int>& elementPositionInGridSrc2DomainPosition,
41                                                std::map<int, int>& elementPositionInGridDst2ScalarPosition,
42                                                std::map<int, int>& elementPositionInGridDst2AxisPosition,
43                                                std::map<int, int>& elementPositionInGridDst2DomainPosition);
44  static bool dummyRegistered_;
45};
46
47}
48#endif // __XIOS_SCALAR_ALGORITHM_REDUCE_SCALAR_HPP__
Note: See TracBrowser for help on using the repository browser.