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

Last change on this file since 934 was 934, checked in by mhnguyen, 4 years ago

Adding new transformation: Compute_connectivity_domain

Test
+) On Curie
+) Test passes

File size: 1.5 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#include "grid_transformation_factory_impl.hpp"
14
15namespace xios {
16
17class CAxis;
18class CDomain;
19
20/*!
21  \class CAxisAlgorithmTransformation
22  Algorithms for axis.
23*/
24class CAxisAlgorithmTransformation : public virtual CGenericAlgorithmTransformation
25{
26public:
27  CAxisAlgorithmTransformation(CAxis* axisDestination, CAxis* axisSource);
28  CAxisAlgorithmTransformation(CAxis* axisDestination, CDomain* domainSource);
29
30  virtual ~CAxisAlgorithmTransformation();
31
32protected:
33  void computeIndexSourceMapping_(const std::vector<CArray<double,1>* >& dataAuxInputs);
34
35  virtual void computeExchangeGlobalIndex(const CArray<size_t,1>& globalAxisIndex,
36                                          int elementType,
37                                          CClientClientDHTInt::Index2VectorInfoTypeMap& globalDomainIndexOnProc);
38
39protected:
40  //! Global index of an axis on grid destination
41  std::vector<int> axisDestGlobalIndex_;
42
43  //! Size of
44  int axisDestGlobalSize_;
45
46    //! Axis on grid destination
47  CAxis* axisDest_;
48
49  //! Axis on grid source
50  CAxis* axisSrc_;
51
52  //! Domain on grid source
53  CDomain* domainSrc_;
54};
55
56}
57#endif // __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
Note: See TracBrowser for help on using the repository browser.