source: XIOS/trunk/src/transformation/axis_algorithm_transformation.hpp @ 867

Last change on this file since 867 was 867, checked in by mhnguyen, 8 years ago

Various clean up

+) Remove some redundant codes

Test
+) On Curie
+) tests pass

File size: 1.2 KB
Line 
1/*!
2   \file axis_algorithm_transformation.hpp
3   \author Ha NGUYEN
4   \since 14 May 2015
5   \date 29 June 2015
6
7   \brief Interface for all axis transformation algorithms.
8 */
9#ifndef __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
10#define __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
11
12#include "generic_algorithm_transformation.hpp"
13
14namespace xios {
15
16class CAxis;
17/*!
18  \class CAxisAlgorithmTransformation
19  Algorithms for axis.
20*/
21class CAxisAlgorithmTransformation : public virtual CGenericAlgorithmTransformation
22{
23public:
24  CAxisAlgorithmTransformation(CAxis* axisDestination, CAxis* axisSource);
25
26  virtual ~CAxisAlgorithmTransformation();
27
28protected:
29  void computeIndexSourceMapping_(const std::vector<CArray<double,1>* >& dataAuxInputs);
30
31  virtual void computeExchangeGlobalIndex(const CArray<size_t,1>& globalAxisIndex,
32                                          CClientClientDHTInt::Index2VectorInfoTypeMap& globalDomainIndexOnProc);
33
34protected:
35  //! Global index of an axis on grid destination
36  std::vector<int> axisDestGlobalIndex_;
37
38  //! Size of
39  int axisDestGlobalSize_;
40
41    //! Axis on grid destination
42  CAxis* axisDest_;
43
44  //! Axis on grid source
45  CAxis* axisSrc_;
46};
47
48}
49#endif // __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
Note: See TracBrowser for help on using the repository browser.