Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

basesimulation.h

Go to the documentation of this file.
00001 /***************************************************************************************************
00002 *****           Copyright (C) 2005  John Schneiderman <JohnMS@member.fsf.org>                  *****
00003 *****                                                                                          *****
00004 *****           This program is free software; you can redistribute it and/or modify           *****
00005 *****           it under the terms of the GNU General Public License as published by           *****
00006 *****           the Free Software Foundation; either version 2 of the License, or              *****
00007 *****           (at your option) any later version.                                            *****
00008 *****                                                                                          *****
00009 *****           This program is distributed in the hope that it will be useful,                *****
00010 *****           but WITHOUT ANY WARRANTY; without even the implied warranty of                 *****
00011 *****           MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                  *****
00012 *****           GNU General Public License for more details.                                   *****
00013 *****                                                                                          *****
00014 *****           You should have received a copy of the GNU General Public License              *****
00015 *****           along with this program; if not, write to the Free Software                    *****
00016 *****           Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA     *****
00017 ***************************************************************************************************/
00018 #ifndef _BASE_SIMULATION_H_
00019 #define _BASE_SIMULATION_H_
00020 
00021 #include "kineticenergyhist.h"
00022 #include "potentialenergyhist.h"
00023 #include "radialdistribution.h"
00024 #include "radialdensityhist.h"
00025 
00026 class Cluster;
00027 class ConfigurationDatabase;
00028 
00029 #include <string>
00030 using std::string;
00031 
00037 class BaseSimulation
00038 {
00039 public:
00044     BaseSimulation(const ConfigurationDatabase &conf);
00049     int runSteps() const;
00054     int printInterval() const;
00059     double changeInStep() const;
00064     void setRunSteps(int steps);
00069     void setPrintInterval(int interval);
00074     void setChangeInStep(double change);
00084     virtual void run(Cluster& cluster, string currentRun, string previousRun)=0;
00088     void clear();
00089 
00090 protected:
00094     int m_runSteps;
00098     int m_printInterval;
00103     double m_stepStart;
00107     double m_changeInStep;
00111     KineticEnergyHistogram m_kineticEnergyHistogram;
00115     PotentialEnergyHistogram m_potentialEnergyHistogram;
00119     RadialDistributionFunction m_radialDistributionFunction;
00123     RadialDensityHistogram m_radialDensityHistogram;
00124 
00130     virtual double findLastStep(string previousRun) const=0;
00131 };
00132 #endif

Generated on Tue Mar 28 23:28:03 2006 for ClusterSim by  doxygen 1.4.4