Simpatico  v1.10
mcMd/potentials/external/ExternalFactory.h
1 #ifndef MCMD_EXTERNAL_FACTORY_H
2 #define MCMD_EXTERNAL_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 <iostream>
13 
14 namespace McMd
15 {
16 
17  using namespace Util;
18 
19  class System;
20  class ExternalPotential;
21 
27  class ExternalFactory : public Factory<ExternalPotential>
28  {
29 
30  public:
31 
35  ExternalFactory(System& system);
36 
40  ExternalPotential* factory(const std::string& subclass) const;
41 
42  private:
43 
44  // Pointer to parent system.
45  System* systemPtr_;
46 
47  };
48 
49 }
50 #endif
A set of interacting Molecules enclosed by a Boundary.
Definition: System.h:115
Abstract External Potential class.
Utility classes for scientific computation.
Definition: accumulators.mod:1
Factory for subclasses MdExternalPotential or McExternalPotential.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
Factory template.
Definition: Factory.h:32