Simpatico  v1.10
ModifierFactory.cpp
1 /*
2 * Simpatico - Simulation Package for Polymeric and Molecular Liquids
3 *
4 * Copyright 2010 - 2017, The Regents of the University of Minnesota
5 * Distributed under the terms of the GNU General Public License.
6 */
7 
8 #include "ModifierFactory.h" // Class header
9 
10 // Modifiers
11 // #include "Modifier1.h"
12 
13 namespace DdMd
14 {
15 
16  using namespace Util;
17 
18  /*
19  * Constructor.
20  */
22  : simulationPtr_(0)
23  {}
24 
25  /*
26  * Constructor.
27  */
29  : simulationPtr_(&simulation)
30  {}
31 
32  /*
33  * Return a pointer to an instance of Modifier subclass className.
34  */
35  Modifier* ModifierFactory::factory(const std::string &className) const
36  {
37  Modifier* ptr = 0;
38 
39  // Try subfactories first (if any)
40  ptr = trySubfactories(className);
41  if (ptr) return ptr;
42 
43  #if 0
44  // Simulation Modifiers
45  if (className == "Modifier1") {
46  ptr = new Modifier1(simulation());
47  } // else
48  #endif
49 
50  return ptr;
51  }
52 
53 }
ModifierFactory()
Default constructor (for unit testing)
Parallel domain decomposition (DD) MD simulation.
Main object for a domain-decomposition MD simulation.
Simulation & simulation() const
Return reference to parent Simulation.
Modifier * trySubfactories(const std::string &className) const
Search through subfactories for match.
Utility classes for scientific computation.
Definition: accumulators.mod:1
virtual Modifier * factory(const std::string &className) const
Return pointer to a new Modifier object.
A Modifier can modify the time evolution of the simulation.
Definition: Modifier.h:82