#include <FWCore/Framework/src/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 361 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 371 of file EPStates.h.
statemachine::HandleEvent::HandleEvent | ( | my_context | ctx | ) |
Definition at line 716 of file EPStates.cc.
References checkInvariant(), and readAndProcessEvent().
00716 : 00717 my_base(ctx), 00718 ep_(context<Machine>().ep()) 00719 { 00720 readAndProcessEvent(); 00721 checkInvariant(); 00722 }
statemachine::HandleEvent::~HandleEvent | ( | ) |
Definition at line 724 of file EPStates.cc.
References checkInvariant().
00724 { 00725 checkInvariant(); 00726 }
bool statemachine::HandleEvent::checkInvariant | ( | ) |
Definition at line 728 of file EPStates.cc.
References empty, first, statemachine::INVALID_LUMI, statemachine::INVALID_RUN, and edm::second().
Referenced by HandleEvent(), react(), and ~HandleEvent().
00728 { 00729 assert(context<HandleRuns>().currentRun() != INVALID_RUN); 00730 assert(context<HandleRuns>().beginRunCalled()); 00731 assert(context<HandleLumis>().currentLumi().first == context<HandleRuns>().currentRun()); 00732 assert(context<HandleLumis>().currentLumi().second != INVALID_LUMI); 00733 assert(context<HandleLumis>().unhandledLumis().empty()); 00734 assert(context<HandleLumis>().currentLumiEmpty() == false); 00735 return true; 00736 }
void statemachine::HandleEvent::markNonEmpty | ( | ) |
Definition at line 754 of file EPStates.cc.
Referenced by readAndProcessEvent().
00754 { 00755 context<HandleRuns>().beginRunIfNotDoneAlready(); 00756 context<HandleLumis>().markLumiNonEmpty(); 00757 }
sc::result statemachine::HandleEvent::react | ( | File const & | file | ) |
Definition at line 738 of file EPStates.cc.
References checkInvariant().
00739 { 00740 checkInvariant(); 00741 if (!context<HandleFiles>().shouldWeCloseOutput()) { 00742 return transit<HandleNewInputFile3>(); 00743 } 00744 return forward_event(); 00745 }
void statemachine::HandleEvent::readAndProcessEvent | ( | ) |
Definition at line 747 of file EPStates.cc.
References ep_, markNonEmpty(), edm::IEventProcessor::processEvent(), edm::IEventProcessor::readEvent(), and edm::IEventProcessor::shouldWeStop().
Referenced by HandleEvent().
00747 { 00748 markNonEmpty(); 00749 ep_.readEvent(); 00750 ep_.processEvent(); 00751 if (ep_.shouldWeStop()) post_event(Stop()); 00752 }