CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions
statemachine::AnotherLumi Class Reference

#include <EPStates.h>

Inheritance diagram for statemachine::AnotherLumi:

Public Types

typedef mpl::list
< sc::transition< Event,
HandleEvent >
, sc::custom_reaction< Lumi >
, sc::custom_reaction< File > > 
reactions
 

Public Member Functions

 AnotherLumi (my_context ctx)
 
bool checkInvariant ()
 
sc::result react (Lumi const &lumi)
 
sc::result react (File const &file)
 
 ~AnotherLumi ()
 

Detailed Description

Definition at line 368 of file EPStates.h.

Member Typedef Documentation

typedef mpl::list< sc::transition<Event, HandleEvent>, sc::custom_reaction<Lumi>, sc::custom_reaction<File> > statemachine::AnotherLumi::reactions

Definition at line 378 of file EPStates.h.

Constructor & Destructor Documentation

statemachine::AnotherLumi::AnotherLumi ( my_context  ctx)

Definition at line 603 of file EPStates.cc.

References checkInvariant().

603  :
604  my_base(ctx)
605  {
606  context<HandleLumis>().finalizeLumi();
607  context<HandleLumis>().setupCurrentLumi();
608  checkInvariant();
609  }
statemachine::AnotherLumi::~AnotherLumi ( )

Definition at line 611 of file EPStates.cc.

References checkInvariant().

611  {
612  checkInvariant();
613  }

Member Function Documentation

bool statemachine::AnotherLumi::checkInvariant ( )

Definition at line 615 of file EPStates.cc.

References fjr2json::lumi, DTTTrigCorrFirst::run, and inputsource_file_cfi::runNumber.

Referenced by AnotherLumi(), react(), and ~AnotherLumi().

615  {
616  assert(context<HandleRuns>().currentRun() != INVALID_RUN);
617  assert(context<HandleLumis>().currentLumi().processHistoryID() == context<HandleRuns>().currentRun().processHistoryID());
618  assert(context<HandleLumis>().currentLumi().run() == context<HandleRuns>().currentRun().runNumber());
619  assert(context<HandleLumis>().currentLumi().lumi() != INVALID_LUMI);
620  assert(context<HandleLumis>().currentLumiEmpty() == true);
621  return true;
622  }
tuple lumi
Definition: fjr2json.py:41
sc::result statemachine::AnotherLumi::react ( Lumi const &  lumi)

Definition at line 624 of file EPStates.cc.

References statemachine::Lumi::id().

625  {
626  if (lumi.id() == context<HandleLumis>().currentLumi().lumi()) {
627  return transit<ContinueLumi>();
628  }
629  return transit<AnotherLumi>();
630  }
tuple lumi
Definition: fjr2json.py:41
sc::result statemachine::AnotherLumi::react ( File const &  file)

Definition at line 632 of file EPStates.cc.

References checkInvariant().

633  {
634  checkInvariant();
635  if (!context<HandleFiles>().shouldWeCloseOutput()) {
636  return transit<HandleNewInputFile3>();
637  }
638  return forward_event();
639  }