ESyS-Particle  4.0.1
ScalarParticleFieldSlaveTagged.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 __SCALARPARTICLEFIELDSLAVETAGGED_H
14 #define __SCALARPARTICLEFIELDSLAVETAGGED_H
15 
16 // -- project includes --
17 #include "ScalarParticleFieldSlave.h"
18 
19 class TML_Comm;
20 
21 template <class T> class ParallelParticleArray;
22 
31 template <typename T>
33 {
34  private:
35  int m_tag,m_mask;
36 
37  virtual void SendDataFull();
38  virtual void SendDataSum();
39  virtual void SendDataMax();
40 
41  protected:
42  public:
43  ScalarParticleFieldSlaveTagged(TML_Comm*,ParallelParticleArray<T>*,typename T::ScalarFieldFunction,int,int);
44 };
45 
46 #include "ScalarParticleFieldSlaveTagged.hpp"
47 
48 #endif //__SCALARPARTICLEFIELDSLAVETAGGED_H