Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
source.h
Go to the documentation of this file.
1 
14 #ifndef SOURCE_INCLUDED
15 #define SOURCE_INCLUDED
16 
17 #include <valarray>
18 #include "defs.h"
19 #include "parameters.h"
20 #include "commonParameters.h"
21 #include "field.h"
22 #include "bridgeIO.h"
23 
24 #ifdef USE_FACTORY
25 #include "factory.h"
26 #endif
27 
29 
36 class Source
37 {
38  protected:
40 
41  public:
42  Source() {}
43  virtual ~Source() {}
44 
45  virtual void set_parameters(const Parameters&) = 0;
46 
48 
49  virtual void set(Field&, int) = 0;
50 
51 #ifdef USE_FACTORY
52  public:
53  typedef Source *(*ProductCreator)();
55 
56  static Source *New(const IdentifierType& subtype)
57  {
58  ProductCreator p = Factory::Find(subtype);
59 
60  return p ? (*p)() : 0;
61  }
62 
63 #endif
64 };
65 #endif /* SOURCE_INCLUDED */
Container of Field-type object.
Definition: field.h:37
Class for parameters.
Definition: parameters.h:40
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
Definition: source.h:47
virtual ~Source()
Definition: source.h:43
virtual void set(Field &, int)=0
Bridge::VerboseLevel vl
Definition: checker.cpp:18
VerboseLevel
Definition: bridgeIO.h:25
Source()
Definition: source.h:42
Bridge::VerboseLevel m_vl
Definition: source.h:39
std::string IdentifierType
Factory template class.
Definition: factory.h:32
Base class of sources for a linear solver.
Definition: source.h:36
virtual void set_parameters(const Parameters &)=0