1#ifndef RPG_PERTURBATION_FACTORY_H
2#define RPG_PERTURBATION_FACTORY_H
11#include <rpg/fts/perturbation/Perturbation.h>
12#include <util/param/Factory.h>
18 template <
int D>
class Simulator;
28 class PerturbationFactory :
public Factory< Perturbation<D> >
46 Perturbation<D>*
factory(
const std::string & className)
const;
53 Simulator<D>* simulatorPtr_;
57 #ifndef RPG_PERTURBATION_FACTORY_TPP
59 extern template class PerturbationFactory<1>;
60 extern template class PerturbationFactory<2>;
61 extern template class PerturbationFactory<3>;
Perturbation< D > * factory(const std::string &className) const
Method to create any Perturbation supplied with PSCF.
PerturbationFactory(Simulator< D > &simulator)
Constructor.
Perturbation< D > * trySubfactories(const std::string &className) const
PSCF package top-level namespace.
Utility classes for scientific computation.