Simpatico  v1.10
MdAnalyzerFactory.h
1 #ifndef MCMD_MD_ANALYZER_FACTORY_H
2 #define MCMD_MD_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> // base class template
12 #include <mcMd/analyzers/Analyzer.h> // base template parameter
13 #include <mcMd/analyzers/system/SystemAnalyzerFactory.h> // member
14 
15 namespace McMd
16 {
17 
18  using namespace Util;
19 
20  class MdSimulation;
21  class MdSystem;
22 
29  class MdAnalyzerFactory : public Factory<Analyzer>
30  {
31 
32  public:
33 
40  MdAnalyzerFactory(MdSimulation& simulation, MdSystem& system);
41 
48  virtual Analyzer* factory(const std::string& className) const;
49 
50  protected:
51 
55  MdSystem& system() const
56  { return *systemPtr_; }
57 
62  { return *simulationPtr_; }
63 
64  private:
65 
67  SystemAnalyzerFactory systemFactory_;
68 
70  MdSimulation* simulationPtr_;
71 
73  MdSystem* systemPtr_;
74 
75  };
76 
77 }
78 #endif
MdSystem & system() const
Return reference to parent MdSystem.
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
MdSimulation & simulation() const
Return reference to parent MdSimulation.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
AnalyzerFactory for an MdSimulation.
A System for Molecular Dynamics simulation.
Definition: MdSystem.h:68
Factory template.
Definition: Factory.h:32
A molecular dynamics simulation of a single MdSystem.
Definition: MdSimulation.h:26