Free Electron
LinearReaction.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __bio_LinearReaction_h__
8 #define __bio_LinearReaction_h__
9 
10 #include "signal/signal.h"
11 #include "shape/shape.h"
12 #include "spatial/spatial.h"
13 
14 namespace fe
15 {
16 
17 class LinearReaction : public Initialize<LinearReaction>,
18  virtual public HandlerI,
19  virtual public Dispatch,
20  virtual public Config
21 {
22  public:
23  LinearReaction(void);
24 virtual ~LinearReaction(void);
25 
26  void initialize(void);
27 
28  // AS HandlerI
29 virtual void handle( Record &r_sig);
30 
31  // AS DispatchI
32 virtual bool call(const String &a_name, std::vector<Instance> a_argv);
33 
34 virtual void addReactant(const String &a_name,Real a_requisite,Real a_rate);
35 
36  private:
37  class Reactant
38  {
39  public:
40  String m_attrname;
41  Real m_requisite;
42  Real m_rate;
43  };
44 
45  std::vector<Reactant> m_reactant;
46 
47  AsSignal m_asSignal;
48 };
49 
50 } /* namespace */
51 
52 #endif /* __bio_LinearReaction_h__ */
53 
kernel
Definition: namespace.dox:3
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Definition: LinearReaction.h:17
Automatically reference-counted string container.
Definition: String.h:128
Reference to an instance of a Layout.
Definition: RecordSB.h:35