Belle II Software  release-05-01-25
RCCommand.h
1 #ifndef _Belle2_RCCommand_h
2 #define _Belle2_RCCommand_h
3 
4 #include <daq/slc/nsm/NSMCommand.h>
5 
6 #include "daq/slc/runcontrol/RCState.h"
7 
8 namespace Belle2 {
14  class RCCommand : public NSMCommand {
15 
16  public:
17  static const RCCommand CONFIGURE;
18  static const RCCommand BOOT;
19  static const RCCommand LOAD;
20  static const RCCommand START;
21  static const RCCommand STOP;
22  static const RCCommand RECOVER;
23  static const RCCommand RESUME;
24  static const RCCommand PAUSE;
25  static const RCCommand ABORT;
26  static const RCCommand STATUS;
27 
28  public:
29  RCCommand() {}
30  RCCommand(const Enum& e) : NSMCommand(e) {}
31  RCCommand(const NSMCommand& e) : NSMCommand(e) {}
32  RCCommand(const RCCommand& cmd) : NSMCommand(cmd) {}
33  RCCommand(const std::string& label) { *this = label; }
34  RCCommand(const char* label) { *this = label; }
35  RCCommand(int id) { *this = id; }
36  ~RCCommand() {}
37 
38  protected:
39  RCCommand(int id, const char* label)
40  : NSMCommand(id, label) {}
41 
42  public:
43  int isAvailable(const RCState& state) const;
44  RCState nextState() const;
45  RCState nextTState() const;
46 
47  public:
48  const RCCommand& operator=(const std::string& label);
49  const RCCommand& operator=(const char* label);
50  const RCCommand& operator=(int id);
51 
52  };
53 
55 }
56 
57 #endif
Belle2::Enum
Definition: Enum.h:12
Belle2::RCCommand
Definition: RCCommand.h:14
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::NSMCommand
Definition: NSMCommand.h:12
Belle2::RCState
Definition: RCState.h:12