1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-16 23:07:05 +01:00

Adding ScalarField theory

This commit is contained in:
Guido Cossu
2017-01-30 10:59:28 +00:00
parent 6929a84c70
commit f05d0565aa
5 changed files with 102 additions and 54 deletions

View File

@ -487,6 +487,7 @@ class OneFlavourRatioEOFModule:
// explicit ref to LatticeGaugeField must be changed or put in the factory
typedef ActionModuleBase< QCD::Action< QCD::LatticeGaugeField >, QCD::GridModule > HMC_LGTActionModBase;
typedef ActionModuleBase< QCD::Action< QCD::LatticeReal >, QCD::GridModule > HMC_ScalarActionModBase;
template <char const *str, class ReaderClass >
class HMC_LGTActionModuleFactory
@ -510,6 +511,28 @@ class HMC_LGTActionModuleFactory
template <char const *str, class ReaderClass >
class HMC_ScalarActionModuleFactory
: public Factory < HMC_ScalarActionModBase , Reader<ReaderClass> > {
public:
typedef Reader<ReaderClass> TheReader;
// use SINGLETON FUNCTOR MACRO HERE
HMC_ScalarActionModuleFactory(const HMC_ScalarActionModuleFactory& e) = delete;
void operator=(const HMC_ScalarActionModuleFactory& e) = delete;
static HMC_ScalarActionModuleFactory& getInstance(void) {
static HMC_ScalarActionModuleFactory e;
return e;
}
private:
HMC_ScalarActionModuleFactory(void) = default;
std::string obj_type() const {
return std::string(str);
}
};
extern char gauge_string[];
} // Grid