CMS 3D CMS Logo

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 371 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 381 of file EPStates.h.

Constructor & Destructor Documentation

statemachine::AnotherLumi::AnotherLumi ( my_context  ctx)

Definition at line 488 of file EPStates.cc.

References checkInvariant().

488  :
489  my_base(ctx) {
490  context<HandleLumis>().finalizeLumi(false);
491  context<HandleLumis>().setupCurrentLumi();
492  checkInvariant();
493  }
statemachine::AnotherLumi::~AnotherLumi ( )

Definition at line 495 of file EPStates.cc.

References checkInvariant().

495  {
496  checkInvariant();
497  }

Member Function Documentation

bool statemachine::AnotherLumi::checkInvariant ( )

Definition at line 499 of file EPStates.cc.

References csvLumiCalc::lumi, findQualityFiles::run, and convertSQLiteXML::runNumber.

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

499  {
500  assert(context<HandleRuns>().currentRun() != INVALID_RUN);
501  assert(context<HandleLumis>().currentLumi().processHistoryID() == context<HandleRuns>().currentRun().processHistoryID());
502  assert(context<HandleLumis>().currentLumi().run() == context<HandleRuns>().currentRun().runNumber());
503  assert(context<HandleLumis>().currentLumi().lumi() != INVALID_LUMI);
504  assert(context<HandleLumis>().currentLumiEmpty() == true);
505  return true;
506  }
sc::result statemachine::AnotherLumi::react ( Lumi const &  lumi)

Definition at line 508 of file EPStates.cc.

References statemachine::Lumi::id().

508  {
509  if(lumi.id() == context<HandleLumis>().currentLumi().lumi()) {
510  return transit<ContinueLumi>();
511  }
512  return transit<AnotherLumi>();
513  }
sc::result statemachine::AnotherLumi::react ( File const &  file)

Definition at line 515 of file EPStates.cc.

References checkInvariant().

515  {
516  checkInvariant();
517  if(!context<HandleFiles>().shouldWeCloseOutput()) {
518  return transit<HandleNewInputFile3>();
519  }
520  return forward_event();
521  }