ESyS-Particle  4.0.1
WallFieldMaster.h
00001 
00002 //                                                         //
00003 // Copyright (c) 2003-2011 by The University of Queensland //
00004 // Earth Systems Science Computational Centre (ESSCC)      //
00005 // http://www.uq.edu.au/esscc                              //
00006 //                                                         //
00007 // Primary Business: Brisbane, Queensland, Australia       //
00008 // Licensed under the Open Software License version 3.0    //
00009 // http://www.opensource.org/licenses/osl-3.0.php          //
00010 //                                                         //
00012 
00013 #ifndef __WALLFIELDMASTER_H
00014 #define __WALLFIELDMASTER_H
00015 
00016 // --- project includes ---
00017 #include "FieldMaster.h"
00018 #include "vec3.h"
00019 
00020 // --- STL includes ---
00021 #include <vector>
00022 #include <map>
00023 
00024 using std::vector;
00025 using std::map;
00026 
00027 class TML_Comm;
00028 
00036 class VectorWallFieldMaster : public AFieldMaster
00037 {
00038  protected:
00039   virtual void writeAsRAW_SERIES();
00040   virtual void writeAsSILO();
00041   map<int,Vec3> m_data;
00042   int m_sum_flag; // decides if field is sum of all slaves (force...) or not (pos...)
00043 
00044  public:
00045   VectorWallFieldMaster(TML_Comm*,const string&,const string&,vector<string>,const string&,int,int,int);
00046   virtual ~VectorWallFieldMaster(){};
00047 
00048   virtual void collect();
00049 };
00050 #endif // __WALLFIELDMASTER_H