GEMC  1.8
Geant4 Monte-Carlo Framework
parameter_factory.h
Go to the documentation of this file.
1 #ifndef PARAMETER_FACTORY_H
2 #define PARAMETER_FACTORY_H
3 
4 // %%%%%%%%%%%
5 // C++ headers
6 // %%%%%%%%%%%
7 #include <map>
8 #include <iostream>
9 using namespace std;
10 
11 
12 // %%%%%%%%%%%%%
13 // gemc headers
14 // %%%%%%%%%%%%%
15 #include "run_conditions.h"
16 #include "usage.h"
17 
18 
20 {
21  public:
22  virtual map<string, double> initParameters(run_conditions, gemc_opts) = 0; // Pure Virtual Method to initialize the parameters
23  virtual ~parameters(){}
24 };
25 
26 typedef parameters *(*parameterFactory)(); // Define parameterFactory as a pointer to a function that returns a pointer
27 
28 parameters *getParameterFactory(map<string, parameterFactory> *, string); // returns parameterFactory Function from Factory Map
29 
30 map<string, parameterFactory> registerParameterFactories(); // Registers parameterFactory in Factory Map
31 
32 
33 
34 #endif
parameters * getParameterFactory(map< string, parameterFactory > *, string)
STL namespace.
map< string, parameterFactory > registerParameterFactories()
virtual ~parameters()