Free Electron
EvaluateSystem.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 __moa_EvaluateSystem_h__
8 #define __moa_EvaluateSystem_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 class FE_DL_EXPORT EvaluateSystem :
16  virtual public SystemI,
17  public Initialize<EvaluateSystem>
18 {
19  public:
20  EvaluateSystem(void);
21 virtual ~EvaluateSystem(void);
22  void initialize(void);
23 
24 virtual void compile(const t_note_id &a_note_id);
25 virtual void perform(const t_note_id &a_note_id);
26 virtual void connectOrchestrator(sp<OrchestratorI> a_spOrchestrator);
27 
28  class EvaluateAction : public Counted
29  {
30  public:
31  EvaluateAction(t_moa_real a_time,
32  sp<Evaluator> a_evaluator)
33  {
34  m_time = a_time;
35  m_spActionEval = a_evaluator;
36  }
37  sp<Evaluator> m_spActionEval;
38  t_moa_real m_time;
39  };
40 
41 
42  private:
43 
44  AsEvaluateAction m_asEvaluateAction;
45  AsTime m_asTime;
46  WeakRecord m_r_time;
47  sp<RecordGroup> m_rg_dataset;
48  std::vector< sp<EvaluateAction> > m_actions;
49  t_moa_real m_startTime;
50 };
51 
52 } /* namespace ext */
53 } /* namespace fe */
54 
55 #endif /* __moa_EvaluateSystem_h__ */
56 
kernel
Definition: namespace.dox:3