ESyS-Particle  4.0.1
ScalarInteractionFieldSlave.h
1 
2 // //
3 // Copyright (c) 2003-2011 by The University of Queensland //
4 // Earth Systems Science Computational Centre (ESSCC) //
5 // http://www.uq.edu.au/esscc //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.opensource.org/licenses/osl-3.0.php //
10 // //
12 
13 #ifndef __SCALAR_INTERACTION_FIELD_SLAVE_H
14 #define __SCALAR_INTERACTION_FIELD_SLAVE_H
15 
16 // -- project includes --
17 #include "Fields/InteractionFieldSlave.h"
18 
19 template <typename I> class TParallelInteractionStorage;
20 class TML_Comm;
21 
30 template <typename T>
32 {
33 protected:
34  virtual void SendDataFull();
35  virtual void SendDataFull2();
36  virtual void SendDataWithID();
37  virtual void SendDataSum();
38  virtual void SendDataMax();
39 
40  protected:
41  typename T::ScalarFieldFunction m_rdf;
42 
43  public:
44  ScalarInteractionFieldSlave(TML_Comm*,TParallelInteractionStorage<T>*,typename T::ScalarFieldFunction);
45 };
46 
47 #include "Fields/ScalarInteractionFieldSlave.hpp"
48 
49 #endif //__SCALAR_INTERACTION_FIELD_SLAVE_H