Free Electron
MultiSweepSystem.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_MultiSweepSystem_h__
8 #define __moa_MultiSweepSystem_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /** @brief Sweep through a range multiple times.
16 
17 Uses AsMultiSweep.
18 
19 composer:step -- s -- eval script run every step
20 composer:outer -- EvalRange -- outer loop range
21 composer:inner -- EvalRange -- inner loop range
22 composer:linger -- real -- time to linger on each data point
23 composer:runup -- real -- runup time before each inner loop pass
24 
25 And Eval Range is expressed as three numbers, with the third number optionally
26 specifying a mode.
27 <start value> <end value> [optional '*' for multiply step mode]<step value>
28 examples:
29  -10 10 2 results in the sequence: -10 -8 -6 -4 -2 0 2 4 6 8 10
30  2 512 *2 results in the sequence: 2 4 8 16 32 64 128 256 512
31 */
33  virtual public SystemI,
34  public Initialize<MultiSweepSystem>
35 {
36  public:
37  MultiSweepSystem(void);
38 virtual ~MultiSweepSystem(void);
39  void initialize(void);
40 
41 virtual void start(const t_note_id &a_note_id);
42 
43 virtual void connectOrchestrator(sp<OrchestratorI> a_spOrchestrator);
44 
45  private:
46  void performDataset(sp<RecordGroup> a_rg_dataset);
47 
48  sp<OrchestratorI> m_spOrchestrator;
49 };
50 
51 } /* namespace ext */
52 } /* namespace fe */
53 
54 #endif /* __moa_MultiSweepSystem_h__ */
55 
56 
Sweep through a range multiple times.
Definition: MultiSweepSystem.h:32
virtual void connectOrchestrator(sp< OrchestratorI > a_spOrchestrator)
Callback for the System to register itself to the orchestrator.
Definition: MultiSweepSystem.cc:26
kernel
Definition: namespace.dox:3
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
System Interface for MOA.
Definition: SystemI.h:18