CMS 3D CMS Logo

statemachine::HandleEvent Class Reference

#include <FWCore/Framework/src/EPStates.h>

List of all members.

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::IEventProcessorep_


Detailed Description

Definition at line 361 of file EPStates.h.


Member Typedef Documentation

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.


Constructor & Destructor Documentation

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   }


Member Function Documentation

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   }


Member Data Documentation

edm::IEventProcessor& statemachine::HandleEvent::ep_ [private]

Definition at line 377 of file EPStates.h.

Referenced by readAndProcessEvent().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:52:36 2009 for CMSSW by  doxygen 1.5.4