#include <EPStates.h>
Public Types | |
typedef mpl::list < sc::transition< Event, HandleEvent >, sc::transition < Lumi, AnotherLumi > , sc::custom_reaction< File > > | reactions |
Public Member Functions | |
bool | checkInvariant () |
HandleEvent (my_context ctx) | |
void | markNonEmpty () |
sc::result | react (File const &file) |
void | readAndProcessEvent () |
~HandleEvent () | |
Private Attributes | |
edm::IEventProcessor & | ep_ |
Definition at line 384 of file EPStates.h.
typedef mpl::list< sc::transition<Event, HandleEvent>, sc::transition<Lumi, AnotherLumi>, sc::custom_reaction<File> > statemachine::HandleEvent::reactions |
Definition at line 394 of file EPStates.h.
statemachine::HandleEvent::HandleEvent | ( | my_context | ctx | ) |
Definition at line 526 of file EPStates.cc.
References checkInvariant(), and readAndProcessEvent().
: my_base(ctx), ep_(context<Machine>().ep()) { readAndProcessEvent(); checkInvariant(); }
statemachine::HandleEvent::~HandleEvent | ( | ) |
bool statemachine::HandleEvent::checkInvariant | ( | ) |
Definition at line 537 of file EPStates.cc.
References fjr2json::lumi, DTTTrigCorrFirst::run, and convertSQLiteXML::runNumber.
Referenced by HandleEvent(), react(), and ~HandleEvent().
{ assert(context<HandleRuns>().currentRun() != INVALID_RUN); assert(context<HandleRuns>().beginRunCalled()); assert(context<HandleLumis>().currentLumi().processHistoryID() == context<HandleRuns>().currentRun().processHistoryID()); assert(context<HandleLumis>().currentLumi().run() == context<HandleRuns>().currentRun().runNumber()); assert(context<HandleLumis>().currentLumi().lumi() != INVALID_LUMI); assert(context<HandleLumis>().currentLumiEmpty() == false); return true; }
void statemachine::HandleEvent::markNonEmpty | ( | ) |
Definition at line 561 of file EPStates.cc.
Referenced by readAndProcessEvent().
{ context<HandleRuns>().beginRunIfNotDoneAlready(); context<HandleLumis>().markLumiNonEmpty(); }
sc::result statemachine::HandleEvent::react | ( | File const & | file | ) |
Definition at line 547 of file EPStates.cc.
References checkInvariant().
{ checkInvariant(); if(!context<HandleFiles>().shouldWeCloseOutput()) { return transit<HandleNewInputFile3>(); } return forward_event(); }
void statemachine::HandleEvent::readAndProcessEvent | ( | ) |
Definition at line 555 of file EPStates.cc.
References ep_, markNonEmpty(), edm::IEventProcessor::readAndProcessEvent(), and edm::IEventProcessor::shouldWeStop().
Referenced by HandleEvent().
{ markNonEmpty(); ep_.readAndProcessEvent(); if(ep_.shouldWeStop()) post_event(Stop()); }
Definition at line 400 of file EPStates.h.
Referenced by readAndProcessEvent().