PSCF v1.3
rpc/fts/analyzer/AnalyzerManager.h
1#ifndef RPC_ANALYZER_MANAGER_H
2#define RPC_ANALYZER_MANAGER_H
3
4#include "Analyzer.h" // base class template parameter
5#include <util/param/Manager.h> // base class template
6
7namespace Pscf {
8namespace Rpc {
9
10 using namespace Util;
11
12 template <int D> class System;
13 template <int D> class Simulator;
14
15
23 template <int D>
24 class AnalyzerManager : public Manager< Analyzer<D> >
25 {
26
27 public:
28
35 AnalyzerManager(Simulator<D>& simulator, System<D>& system);
36
40 virtual ~AnalyzerManager();
41
47 virtual void readParameters(std::istream &in);
48
57 void setup();
58
67 void sample(long iStep);
68
76 void output();
77
79
80 protected:
81
85
86 private:
87
91 Simulator<D>* simulatorPtr_;
92
96 System<D>* systemPtr_;
97
101 virtual Factory< Analyzer<D> >* newDefaultFactory() const;
102
103 };
104
105 #ifndef RPC_ANALZYER_MANAGER_TPP
106 // Suppress implicit instantiation
107 extern template class AnalyzerManager<1>;
108 extern template class AnalyzerManager<2>;
109 extern template class AnalyzerManager<3>;
110 #endif
111
112}
113}
114#endif
Manager for a list of Analyzer objects.
AnalyzerManager(Simulator< D > &simulator, System< D > &system)
Constructor.
void sample(long iStep)
Call sample method of each Analyzer.
virtual void readParameters(std::istream &in)
Read parameter file.
void setup()
Call initialize method of each Analyzer.
void output()
Call output 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
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.
Real periodic fields, SCFT and PS-FTS (CPU).
Definition param_pc.dox:2
PSCF package top-level namespace.
Definition param_pc.dox:1