test
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
statemachine::NewRun Class Reference

#include <EPStates.h>

Inheritance diagram for statemachine::NewRun:

Public Types

typedef mpl::list
< sc::transition< Lumi,
HandleLumis >
, sc::custom_reaction< Run >
, sc::custom_reaction< File > > 
reactions
 

Public Member Functions

 NewRun (my_context ctx)
 
sc::result react (Run const &run)
 
sc::result react (File const &file)
 
 ~NewRun ()
 

Detailed Description

Definition at line 262 of file EPStates.h.

Member Typedef Documentation

typedef mpl::list< sc::transition<Lumi, HandleLumis>, sc::custom_reaction<Run>, sc::custom_reaction<File> > statemachine::NewRun::reactions

Definition at line 271 of file EPStates.h.

Constructor & Destructor Documentation

statemachine::NewRun::NewRun ( my_context  ctx)

Definition at line 265 of file EPStates.cc.

265  :
266  my_base(ctx) {
267  assert(context<HandleRuns>().currentRun() == INVALID_RUN);
268  context<HandleRuns>().setupCurrentRun();
269 
270  // Here we assume that the input source or event processor
271  // will throw if we fail to get a valid run. Therefore
272  // we should not ever fail this assert.
273  assert(context<HandleRuns>().currentRun() != INVALID_RUN);
274  }
statemachine::NewRun::~NewRun ( )

Definition at line 276 of file EPStates.cc.

276 { }

Member Function Documentation

sc::result statemachine::NewRun::react ( Run const &  run)

Definition at line 278 of file EPStates.cc.

278  {
279  if(run == context<HandleRuns>().currentRun()) {
280  return transit<ContinueRun1>();
281  }
282  context<HandleRuns>().finalizeRun(false);
283  return transit<NewRun>();
284  }
sc::result statemachine::NewRun::react ( File const &  file)

Definition at line 286 of file EPStates.cc.

286  {
287  if(!context<HandleFiles>().shouldWeCloseOutput()) {
288  return transit<HandleNewInputFile2>();
289  }
290  return forward_event();
291  }