PSCF v1.3
rpg/fts/analyzer/AnalyzerManager.h
1#ifndef RPG_ANALYZER_MANAGER_H
2#define RPG_ANALYZER_MANAGER_H
3
4#include "Analyzer.h" // template parameter
5#include <util/param/Manager.h> // base class template
6#include <util/param/ParamComposite.h>
7
8namespace Pscf {
9namespace Rpg {
10
11 template <int D> class System;
12 template <int D> class Simulator;
13
14 using namespace Util;
15
21 template <int D>
22 class AnalyzerManager : public Manager< Analyzer<D> >
23 {
24
25 public:
26
33 AnalyzerManager(Simulator<D>& simulator, System<D>& system);
34
38 virtual ~AnalyzerManager();
39
45 virtual void readParameters(std::istream &in);
46
47 #if 0
53 virtual void loadParameters(Serializable::IArchive& ar);
54
60 virtual void save(Serializable::OArchive& ar);
61
62 #endif
63
72 void setup();
73
82 void sample(long iStep);
83
91 void output();
92
94
95 protected:
96
100
101 private:
102
106 Simulator<D>* simulatorPtr_;
107
111 System<D>* systemPtr_;
112
116 virtual Factory< Analyzer<D> >* newDefaultFactory() const;
117
118 };
119
120 #ifndef RPG_ANALZYER_MANAGER_TPP
121 // Suppress implicit instantiation
122 extern template class AnalyzerManager<1>;
123 extern template class AnalyzerManager<2>;
124 extern template class AnalyzerManager<3>;
125 #endif
126
127}
128}
129#endif
Manager for a list of Analyzer objects.
virtual void readParameters(std::istream &in)
Read parameter file.
AnalyzerManager(Simulator< D > &simulator, System< D > &system)
Constructor.
void output()
Call output method of each analyzer.
void sample(long iStep)
Call sample method of each Analyzer.
void setup()
Call initialize method of each Analyzer.
Abstract base for periodic output and/or analysis actions.
Field theoretic simulator (base class).
Main class, representing one complete system.
Factory template.
Definition Factory.h:34
virtual Factory< Analyzer< D > > * newDefaultFactory() const
Definition Manager.h:541
virtual void loadParameters(Serializable::IArchive &ar)
Definition Manager.h:411
virtual void save(Serializable::OArchive &ar)
Definition Manager.h:448
Manager(bool uniqueNames=false)
Definition Manager.h:232
ScalarParam< Type > & read(std::istream &in, const char *label, Type &value)
Add and read a new required ScalarParam < Type > object.
void setClassName(const char *className)
Set class name string.
ScalarParam< Type > & readOptional(std::istream &in, const char *label, Type &value)
Add and read a new optional ScalarParam < Type > object.
BinaryFileIArchive IArchive
Type of input archive used by load method.
BinaryFileOArchive OArchive
Type of output archive used by save method.
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.
Definition param_pc.dox:1