8 #ifndef COMMANDABLE_SM_H
9 #define COMMANDABLE_SM_H
11 #define SMC_USES_IOSTREAMS
13 #include <artdaq/Application/detail/statemap.h>
14 #include <canvas/Persistency/Provenance/RunID.h>
15 #include <fhiclcpp/ParameterSet.h>
21 class Main_Initialized;
24 class InitializedMap_Ready;
25 class InitializedMap_InRun;
26 class InitializedMap_Default;
28 class InRunMap_Running;
29 class InRunMap_Paused;
30 class InRunMap_InRunError;
31 class InRunMap_Default;
32 class CommandableState;
33 class CommandableContext;
46 virtual void init(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
48 virtual void reinit(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
49 virtual void resume(
CommandableContext& context, uint64_t timeout, uint64_t timestamp);
51 virtual void soft_init(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
52 virtual void start(
CommandableContext& context, art::RunID
id, uint64_t timeout, uint64_t timestamp);
72 virtual void init(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
73 virtual void start(
CommandableContext& context, art::RunID
id, uint64_t timeout, uint64_t timestamp);
76 virtual void resume(
CommandableContext& context, uint64_t timeout, uint64_t timestamp);
78 virtual void soft_init(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
79 virtual void reinit(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
85 Main_Booted(
const char*
const name,
const int stateId)
89 virtual void init(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
90 virtual void reinit(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
100 virtual void init(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
101 virtual void reinit(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
118 virtual void init(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
119 virtual void start(
CommandableContext& context, art::RunID
id, uint64_t timeout, uint64_t timestamp);
121 virtual void pause(
CommandableContext& context, uint64_t timeout, uint64_t timestamp);
122 virtual void resume(
CommandableContext& context, uint64_t timeout, uint64_t timestamp);
124 virtual void soft_init(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
125 virtual void reinit(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
134 virtual void init(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
135 virtual void reinit(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
137 virtual void soft_init(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
138 virtual void start(
CommandableContext& context, art::RunID
id, uint64_t timeout, uint64_t timestamp);
165 virtual void init(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
166 virtual void start(
CommandableContext& context, art::RunID
id, uint64_t timeout, uint64_t timestamp);
168 virtual void pause(
CommandableContext& context, uint64_t timeout, uint64_t timestamp);
169 virtual void resume(
CommandableContext& context, uint64_t timeout, uint64_t timestamp);
171 virtual void soft_init(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
172 virtual void reinit(
CommandableContext& context, fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp);
182 virtual void pause(
CommandableContext& context, uint64_t timeout, uint64_t timestamp);
192 virtual void resume(
CommandableContext& context, uint64_t timeout, uint64_t timestamp);
202 virtual void pause(
CommandableContext& context, uint64_t timeout, uint64_t timestamp);
210 : FSMContext(Main::Booted), _owner(owner){};
213 : FSMContext(state), _owner(owner){};
215 virtual void enterStartState()
217 getState().Entry(*
this);
236 inline void in_run_failure()
238 getState().in_run_failure(*
this);
241 inline void init(fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp)
243 getState().init(*
this, pset, timeout, timestamp);
246 inline void pause(uint64_t timeout, uint64_t timestamp)
248 getState().pause(*
this, timeout, timestamp);
251 inline void reinit(fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp)
253 getState().reinit(*
this, pset, timeout, timestamp);
256 inline void resume(uint64_t timeout, uint64_t timestamp)
258 getState().resume(*
this, timeout, timestamp);
261 inline void shutdown(uint64_t timeout)
263 getState().shutdown(*
this, timeout);
266 inline void soft_init(fhicl::ParameterSet
const& pset, uint64_t timeout, uint64_t timestamp)
268 getState().soft_init(*
this, pset, timeout, timestamp);
271 inline void start(art::RunID
id, uint64_t timeout, uint64_t timestamp)
273 getState().start(*
this,
id, timeout, timestamp);
276 inline void stop(uint64_t timeout, uint64_t timestamp)
278 getState().stop(*
this, timeout, timestamp);
286 #endif // COMMANDABLE_SM_H
Commandable is the base class for all artdaq components which implement the artdaq state machine...