Simpatico  v1.10
SystemAnalyzerFactory.h
1 #ifndef MCMD_SYSTEM_ANALYZER_FACTORY_H
2 #define MCMD_SYSTEM_ANALYZER_FACTORY_H
3 
4 /*
5 * Simpatico - Simulation Package for Polymeric and Molecular Liquids
6 *
7 * Copyright 2010 - 2017, The Regents of the University of Minnesota
8 * Distributed under the terms of the GNU General Public License.
9 */
10 
11 #include <util/param/Factory.h>
12 #include <mcMd/analyzers/Analyzer.h>
13 
14 namespace McMd
15 {
16 
17  using namespace Util;
18 
19  class Simulation;
20  class System;
21 
28  class SystemAnalyzerFactory : public Factory<Analyzer>
29  {
30 
31  public:
32 
39  SystemAnalyzerFactory(Simulation& simulation, System& system);
40 
47  virtual Analyzer* factory(const std::string& className) const;
48 
49  protected:
50 
55  { return *simulationPtr_; }
56 
57  private:
58 
62  System& system() const
63  { return *systemPtr_; }
64 
65  Simulation *simulationPtr_;
66  System *systemPtr_;
67 
68  };
69 
70 }
71 #endif
A set of interacting Molecules enclosed by a Boundary.
Definition: System.h:115
The main object in a simulation, which coordinates others.
Abstract base for periodic output and/or analysis actions.
AnalyzerFactory for any System (for mc or md).
Utility classes for scientific computation.
Definition: accumulators.mod:1
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
Simulation & simulation() const
Return reference to parent Simulation.
Factory template.
Definition: Factory.h:32