1#ifndef RPC_PERTURBATION_FACTORY_H
2#define RPC_PERTURBATION_FACTORY_H
11#include <rpc/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 RPC_PERTURBATION_FACTORY_TPP
59 extern template class PerturbationFactory<1>;
60 extern template class PerturbationFactory<2>;
61 extern template class PerturbationFactory<3>;
PerturbationFactory(Simulator< D > &simulator)
Constructor.
Perturbation< D > * factory(const std::string &className) const
Method to create any Perturbation supplied with PSCF.
Perturbation< D > * trySubfactories(const std::string &className) const
PSCF package top-level namespace.
Utility classes for scientific computation.