1 #ifndef MCMD_ANALYZER_H 2 #define MCMD_ANALYZER_H 11 #include <util/param/ParamComposite.h> 12 #include <util/misc/FileMaster.h> 76 virtual void readParameters(std::istream& in);
104 template <
class Archive>
105 void serialize(Archive& ar,
const unsigned int version);
130 virtual void sample(
long iStep) = 0;
143 int interval()
const;
150 bool isAtInterval(
long counter)
const;
176 void readInterval(std::istream &in);
183 void readOutputFileName(std::istream &in);
209 const std::string& outputFileName()
const;
214 std::string outputFileName(
const std::string& suffix)
const;
235 {
return interval_; }
241 {
return (counter%interval_ == 0); }
247 {
return outputFileName_; }
254 template <
class Archive>
258 ar & outputFileName_;
static long baseInterval
The interval for an Analyzer must be a multiple of baseInterval.
virtual void setup()
Complete any required initialization.
void initStatic()
Guarantee initialization of all static class members in Util namespace.
void serialize(Archive &ar, PairSelector &selector, const unsigned int version)
Serialize a PairSelector.
Saving / output archive for binary ostream.
long interval_
Number of simulation steps between subsequent actions.
void serialize(Archive &ar, const unsigned int version)
Serialize to/from an archive.
Abstract base for periodic output and/or analysis actions.
Utility classes for scientific computation.
std::string outputFileName_
Base name of output file(s).
A FileMaster manages input and output files for a simulation.
virtual void output()
Output any results at the end of the simulation.
Saving archive for binary istream.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
bool isAtInterval(long counter) const
Return true iff counter is a multiple of the interval.
const std::string & outputFileName() const
Return outputFileName string.
int interval() const
Get interval value.
An object that can read multiple parameters from file.