ESyS-Particle  4.0.1
ScalarTriangleFieldMaster.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 __SCALARTRIANGLEFIELDMASTER_H
00014 #define __SCALARTRIANGLEFIELDMASTER_H
00015 
00016 //--- project includes ---
00017 #include "FieldMaster.h"
00018 
00019 //--- STL includes ---
00020 #include <map>
00021 using std::map;
00022 
00031 class ScalarTriangleFieldMaster :  public AFieldMaster
00032 {
00033  protected:
00034   map<int,double> m_data; // id,value
00035 
00036   virtual void writeAsDX();
00037   virtual void writeAsRAW();
00038   virtual void writeAsSUM(){};
00039   virtual void writeAsMAX(){};
00040   virtual void writeAsRAW_SERIES(){};
00041 
00042   void collectFull();
00043   void collectFullDX();
00044   
00045  public:
00046   ScalarTriangleFieldMaster(TML_Comm*,const string&,const string&,const string&,const string&,int,int,int);
00047   ~ScalarTriangleFieldMaster();
00048   
00049   virtual void collect();
00050   virtual void write();
00051 };
00052 
00053 #endif //__SCALARTRIANGLEFIELDMASTER_H