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 | Private Attributes
statemachine::ContinueLumi Class Reference

#include <EPStates.h>

Inheritance diagram for statemachine::ContinueLumi:

Public Types

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

Public Member Functions

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

Private Attributes

edm::IEventProcessorep_
 

Detailed Description

Definition at line 438 of file EPStates.h.

Member Typedef Documentation

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

Definition at line 448 of file EPStates.h.

Constructor & Destructor Documentation

statemachine::ContinueLumi::ContinueLumi ( my_context  ctx)

Definition at line 644 of file EPStates.cc.

References checkInvariant(), ep_, and edm::IEventProcessor::readAndMergeLumi().

644  :
645  my_base(ctx),
646  ep_(context<Machine>().ep()) {
648  checkInvariant();
649  }
edm::IEventProcessor & ep_
Definition: EPStates.h:453
virtual int readAndMergeLumi()=0
statemachine::ContinueLumi::~ContinueLumi ( )

Definition at line 651 of file EPStates.cc.

References checkInvariant().

651  {
652  checkInvariant();
653  }

Member Function Documentation

bool statemachine::ContinueLumi::checkInvariant ( )

Definition at line 655 of file EPStates.cc.

References assert(), fjr2json::lumi, DTTTrigCorrFirst::run, and convertSQLiteXML::runNumber.

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

655  {
656  assert(context<HandleRuns>().currentRun() != INVALID_RUN);
657  assert(context<HandleLumis>().currentLumi().processHistoryID() == context<HandleRuns>().currentRun().processHistoryID());
658  assert(context<HandleLumis>().currentLumi().run() == context<HandleRuns>().currentRun().runNumber());
659  assert(context<HandleLumis>().currentLumi().lumi() != INVALID_LUMI);
660  return true;
661  }
tuple lumi
Definition: fjr2json.py:35
assert(m_qm.get())
sc::result statemachine::ContinueLumi::react ( Lumi const &  lumi)

Definition at line 663 of file EPStates.cc.

References checkInvariant(), statemachine::Lumi::id(), and fjr2json::lumi.

663  {
664  checkInvariant();
665  if(context<HandleLumis>().currentLumi().lumi() != lumi.id()) {
666  return transit<AnotherLumi>();
667  } else {
668  return transit<ContinueLumi>();
669  }
670  }
tuple lumi
Definition: fjr2json.py:35
sc::result statemachine::ContinueLumi::react ( File const &  file)

Definition at line 672 of file EPStates.cc.

References checkInvariant().

672  {
673  checkInvariant();
674  if(!context<HandleFiles>().shouldWeCloseOutput()) {
675  return transit<HandleNewInputFile3>();
676  }
677  return forward_event();
678  }

Member Data Documentation

edm::IEventProcessor& statemachine::ContinueLumi::ep_
private

Definition at line 453 of file EPStates.h.

Referenced by ContinueLumi().