otsdaq  3.11.00
ots::VStateMachine Class Referenceabstract
+ Inheritance diagram for ots::VStateMachine:
+ Collaboration diagram for ots::VStateMachine:

Public Member Functions

 VStateMachine (const std::string &name)
 
virtual void configure (void)=0
 Transitions.
 
virtual void halt (void)=0
 
virtual void pause (void)=0
 
virtual void resume (void)=0
 
virtual void start (std::string runNumber)=0
 
virtual void stop (void)=0
 
virtual bool running (void)
 States.
 
virtual void paused (void)
 
virtual void halted (void)
 
virtual void configured (void)
 
virtual void initial (void)
 
virtual void inError (void)
 
virtual std::string getStatusProgressDetail (void)
 Status. More...
 
virtual unsigned int getMinReadyForEventGenerationStartIteration (void) const
 
void setTransitionName (const std::string &transitionName)
 
const std::string & getTransitionName (void)
 
void setSubsystemIterationIndex (unsigned int i)
 
unsigned int getSubsystemIterationIndex (void) const
 
bool isStandaloneSubsystem (void) const
 
bool isFirstIteration (void) const
 true on the very first call of a transition (all indices at their starting value)
 
std::string getSubsystemIterationIndexString (void) const
 
unsigned int getSubsystemSyncStepIndex (void) const
 
void indicateSubsystemSyncStepWork (void)
 
void indicateSubsystemIterationWork (void)
 
void clearSubsystemIterationWork (void)
 
bool getSubsystemIterationWork (void)
 
void setIterationIndex (unsigned int i)
 
void setSubIterationIndex (unsigned int i)
 
unsigned int getIterationIndex (void)
 
unsigned int getSubIterationIndex (void)
 
void setSystemMinReadyForEventGenerationStartIteration (unsigned int i)
 
unsigned int getSystemMinReadyForEventGenerationStartIteration (void) const
 
void indicateIterationWork (void)
 
void clearIterationWork (void)
 
bool getIterationWork (void)
 
void indicateSubIterationWork (void)
 
void clearSubIterationWork (void)
 
bool getSubIterationWork (void)
 

Public Attributes

CoreSupervisorBase * parentSupervisor_ = nullptr
 

Static Public Attributes

static const unsigned int SUBSYSTEM_ITERATION_STANDALONE = (unsigned int)-1
 

Protected Attributes

std::map< std::string, std::map< unsigned int, std::string > > subsystemIterationAliasMap_
 
std::map< std::string, std::map< unsigned int, std::string > > iterationAliasMap_
 
std::map< std::string, std::map< unsigned int, std::string > > subIterationAliasMap_
 

Detailed Description

Definition at line 10 of file VStateMachine.h.

Member Function Documentation

◆ getStatusProgressDetail()

virtual std::string ots::VStateMachine::getStatusProgressDetail ( void  )
inlinevirtual

Status.

virtual progress detail string that can be overridden with more info e.g. step and sub-step aliases, etc

< just index

< just index

< just index

Reimplemented in ots::FEVInterfacesManager.

Definition at line 51 of file VStateMachine.h.

◆ getSubsystemSyncStepIndex()

unsigned int ots::VStateMachine::getSubsystemSyncStepIndex ( void  ) const
inline

For steps that must be ordered across subsystems (e.g. start sequence): the subsystem-iteration index under a top-level, or the plain iteration index when standalone (the STANDALONE index never increments, while plain iterations are already synchronized within the one subsystem).

Definition at line 177 of file VStateMachine.h.

Member Data Documentation

◆ parentSupervisor_

CoreSupervisorBase* ots::VStateMachine::parentSupervisor_ = nullptr

e.g. to communicate error fault and start transition to error for entire system

Definition at line 208 of file VStateMachine.h.

◆ SUBSYSTEM_ITERATION_STANDALONE

const unsigned int ots::VStateMachine::SUBSYSTEM_ITERATION_STANDALONE = (unsigned int)-1
static

Subsystem-iteration index sent by a Gateway that has no top-level above it and no remote subsystems below it. Plugins treat it as "every subsystem-iteration is mine", so nobody idles a pass waiting for another subsystem that does not exist.

Definition at line 16 of file VStateMachine.h.


The documentation for this class was generated from the following file: