CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
edm::UnscheduledCallProducer Class Reference

#include <Schedule.h>

Inheritance diagram for edm::UnscheduledCallProducer:
edm::UnscheduledHandler

Public Member Functions

void addWorker (Worker *aWorker)
 
template<typename T >
void runNow (typename T::MyPrincipal &p, EventSetup const &es)
 
 UnscheduledCallProducer ()
 
- Public Member Functions inherited from edm::UnscheduledHandler
void setEventSetup (EventSetup const &iSetup)
 
bool tryToFill (std::string const &label, EventPrincipal &iEvent)
 returns true if found an EDProducer and ran it More...
 
 UnscheduledHandler ()
 
virtual ~UnscheduledHandler ()
 

Private Member Functions

virtual bool tryToFillImpl (std::string const &moduleLabel, EventPrincipal &event, EventSetup const &eventSetup, CurrentProcessingContext const *iContext)
 

Private Attributes

std::map< std::string, Worker * > labelToWorkers_
 

Detailed Description

Definition at line 310 of file Schedule.h.

Constructor & Destructor Documentation

edm::UnscheduledCallProducer::UnscheduledCallProducer ( )
inline

Definition at line 312 of file Schedule.h.

std::map< std::string, Worker * > labelToWorkers_
Definition: Schedule.h:345

Member Function Documentation

void edm::UnscheduledCallProducer::addWorker ( Worker aWorker)
inline

Definition at line 313 of file Schedule.h.

References edm::Worker::description(), labelToWorkers_, and edm::ModuleDescription::moduleLabel().

313  {
314  assert(0 != aWorker);
315  labelToWorkers_[aWorker->description().moduleLabel()] = aWorker;
316  }
std::map< std::string, Worker * > labelToWorkers_
Definition: Schedule.h:345
template<typename T >
void edm::UnscheduledCallProducer::runNow ( typename T::MyPrincipal &  p,
EventSetup const &  es 
)
inline

Definition at line 319 of file Schedule.h.

References labelToWorkers_, and L1TEmulatorMonitor_cff::p.

319  {
320  //do nothing for event since we will run when requested
321  if(!T::isEvent_) {
322  for(std::map<std::string, Worker*>::iterator it = labelToWorkers_.begin(), itEnd=labelToWorkers_.end();
323  it != itEnd;
324  ++it) {
325  CPUTimer timer;
326  it->second->doWork<T>(p, es, 0, &timer);
327  }
328  }
329  }
long double T
std::map< std::string, Worker * > labelToWorkers_
Definition: Schedule.h:345
virtual bool edm::UnscheduledCallProducer::tryToFillImpl ( std::string const &  moduleLabel,
EventPrincipal event,
EventSetup const &  eventSetup,
CurrentProcessingContext const *  iContext 
)
inlineprivatevirtual

Implements edm::UnscheduledHandler.

Definition at line 332 of file Schedule.h.

References event(), and labelToWorkers_.

335  {
336  std::map<std::string, Worker*>::const_iterator itFound =
338  if(itFound != labelToWorkers_.end()) {
339  CPUTimer timer;
340  itFound->second->doWork<OccurrenceTraits<EventPrincipal, BranchActionBegin> >(event, eventSetup, iContext, &timer);
341  return true;
342  }
343  return false;
344  }
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
std::map< std::string, Worker * > labelToWorkers_
Definition: Schedule.h:345
const std::string * moduleLabel() const
Definition: HLTadd.h:40

Member Data Documentation

std::map<std::string, Worker*> edm::UnscheduledCallProducer::labelToWorkers_
private

Definition at line 345 of file Schedule.h.

Referenced by addWorker(), runNow(), and tryToFillImpl().