#include <InputSource.h>
Classes | |
class | EventSourceSentry |
class | FileCloseSentry |
class | FileOpenSentry |
class | LumiSourceSentry |
class | RunSourceSentry |
class | SourceSentry |
Public Types | |
enum | ItemType { IsInvalid, IsStop, IsFile, IsRun, IsLumi, IsEvent, IsRepeat } |
enum | ProcessingMode { Runs, RunsAndLumis, RunsLumisAndEvents } |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Member Functions | |
boost::shared_ptr < ActivityRegistry > | actReg () const |
Accessor for Activity Registry. | |
boost::shared_ptr < BranchIDListHelper > | branchIDListHelper () const |
Accessor for branchIDListHelper. | |
void | closeFile (boost::shared_ptr< FileBlock >, bool cleaningUpAfterException) |
close current file | |
void | doBeginJob () |
Called by framework at beginning of job. | |
void | doBeginLumi (LuminosityBlockPrincipal &lbp) |
Called by framework at beginning of lumi block. | |
void | doBeginRun (RunPrincipal &rp) |
Called by framework at beginning of run. | |
void | doEndJob () |
Called by framework at end of job. | |
void | doEndLumi (LuminosityBlockPrincipal &lbp, bool cleaningUpAfterException) |
Called by framework at end of lumi block. | |
void | doEndRun (RunPrincipal &rp, bool cleaningUpAfterException) |
Called by framework at end of run. | |
void | doPostForkReacquireResources (boost::shared_ptr< multicore::MessageReceiverForSource >) |
void | doPreForkReleaseResources () |
Called by the framework before forking the process. | |
ProcessingController::ForwardState | forwardState () const |
bool | goToEvent (EventID const &eventID) |
InputSource (ParameterSet const &, InputSourceDescription const &) | |
Constructor. | |
void | issueReports (EventID const &eventID) |
issue an event report | |
LuminosityBlockNumber_t | luminosityBlock () const |
Accessor for current luminosity block number. | |
boost::shared_ptr < LuminosityBlockAuxiliary > | luminosityBlockAuxiliary () const |
Called by the framework to merge or insert lumi in principal cache. | |
int | maxEvents () const |
int | maxLuminosityBlocks () const |
ModuleDescription const & | moduleDescription () const |
Accessor for 'module' description. | |
ItemType | nextItemType () |
bool | primary () const |
Accessor for primary input source flag. | |
ProcessConfiguration const & | processConfiguration () const |
Accessor for Process Configuration. | |
std::string const & | processGUID () const |
Accessor for global process identifier. | |
ProcessingMode | processingMode () const |
RunsLumisAndEvents (default), RunsAndLumis, or Runs. | |
boost::shared_ptr < ProductRegistry const > | productRegistry () const |
Accessor for product registry. | |
bool | randomAccess () const |
boost::shared_ptr < LuminosityBlockPrincipal > | readAndCacheLumi (HistoryAppender &historyAppender) |
Read next luminosity block (new lumi) | |
boost::shared_ptr< RunPrincipal > | readAndCacheRun (HistoryAppender &historyAppender) |
Read next run (new run) | |
void | readAndMergeLumi (boost::shared_ptr< LuminosityBlockPrincipal > lbp) |
Read next luminosity block (same as a prior lumi) | |
void | readAndMergeRun (boost::shared_ptr< RunPrincipal > rp) |
Read next run (same as a prior run) | |
EventPrincipal * | readEvent (EventPrincipal &ep) |
EventPrincipal * | readEvent (EventPrincipal &ep, EventID const &) |
Read a specific event. | |
boost::shared_ptr< FileBlock > | readFile () |
Read next file. | |
boost::shared_ptr < LuminosityBlockAuxiliary > | readLuminosityBlockAuxiliary () |
Read next luminosity block Auxilary. | |
boost::shared_ptr< RunAuxiliary > | readRunAuxiliary () |
Read next run Auxiliary. | |
ProcessHistoryID const & | reducedProcessHistoryID () const |
void | registerProducts () |
Register any produced products. | |
int | remainingEvents () const |
int | remainingLuminosityBlocks () const |
void | repeat () |
Reset the remaining number of events/lumis to the maximum number. | |
ProcessingController::ReverseState | reverseState () const |
void | rewind () |
Begin again at the first event. | |
RunNumber_t | run () const |
Accessor for current run number. | |
boost::shared_ptr< RunAuxiliary > | runAuxiliary () const |
Called by the framework to merge or insert run in principal cache. | |
void | setLuminosityBlockNumber_t (LuminosityBlockNumber_t lb) |
Set the luminosity block ID. | |
void | setRunNumber (RunNumber_t r) |
Set the run number. | |
void | skipEvents (int offset) |
bool | skipForForking () |
Timestamp const & | timestamp () const |
Accessor for the current time, as seen by the input source. | |
virtual | ~InputSource () |
Destructor. | |
Static Public Member Functions | |
static const std::string & | baseType () |
static void | fillDescription (ParameterSetDescription &desc) |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &) |
Protected Member Functions | |
void | decreaseRemainingEventsBy (int iSkipped) |
bool | eventCached () const |
boost::shared_ptr < LuminosityBlockPrincipal > const | luminosityBlockPrincipal () const |
bool | newLumi () const |
bool | newRun () const |
ProductRegistry & | productRegistryUpdate () const |
void | reset () const |
void | resetEventCached () |
void | resetLuminosityBlockAuxiliary (bool isNewLumi=true) const |
void | resetNewLumi () |
void | resetNewRun () |
void | resetRunAuxiliary (bool isNewRun=true) const |
boost::shared_ptr < RunPrincipal > const | runPrincipal () const |
void | setEventCached () |
Called by the framework to merge or ached() const {return eventCached_;}. | |
void | setLuminosityBlockAuxiliary (LuminosityBlockAuxiliary *lbp) |
void | setNewLumi () |
void | setNewRun () |
void | setRunAuxiliary (RunAuxiliary *rp) |
void | setTimestamp (Timestamp const &theTime) |
To set the current time, as seen by the input source. | |
virtual void | skip (int offset) |
ItemType | state () const |
Private Member Functions | |
virtual void | beginJob () |
virtual void | beginLuminosityBlock (LuminosityBlock &) |
virtual void | beginRun (Run &) |
virtual void | closeFile_ () |
virtual void | endJob () |
virtual void | endLuminosityBlock (LuminosityBlock &) |
virtual void | endRun (Run &) |
bool | eventLimitReached () const |
virtual ProcessingController::ForwardState | forwardState_ () const |
virtual ItemType | getNextItemType ()=0 |
virtual bool | goToEvent_ (EventID const &eventID) |
bool | limitReached () const |
bool | lumiLimitReached () const |
ItemType | nextItemType_ () |
virtual void | postForkReacquireResources (boost::shared_ptr< multicore::MessageReceiverForSource >) |
void | postRead (Event &event) |
virtual void | preForkReleaseResources () |
virtual bool | randomAccess_ () const |
virtual EventPrincipal * | readEvent_ (EventPrincipal &eventPrincipal)=0 |
virtual boost::shared_ptr < FileBlock > | readFile_ () |
virtual EventPrincipal * | readIt (EventID const &, EventPrincipal &eventPrincipal) |
virtual boost::shared_ptr < LuminosityBlockPrincipal > | readLuminosityBlock_ (boost::shared_ptr< LuminosityBlockPrincipal > lumiPrincipal) |
virtual boost::shared_ptr < LuminosityBlockAuxiliary > | readLuminosityBlockAuxiliary_ ()=0 |
virtual boost::shared_ptr < RunPrincipal > | readRun_ (boost::shared_ptr< RunPrincipal > runPrincipal) |
virtual boost::shared_ptr < RunAuxiliary > | readRunAuxiliary_ ()=0 |
virtual ProcessingController::ReverseState | reverseState_ () const |
virtual void | rewind_ () |
virtual void | setLumi (LuminosityBlockNumber_t lb) |
virtual void | setRun (RunNumber_t r) |
Private Attributes | |
boost::shared_ptr < ActivityRegistry > | actReg_ |
boost::shared_ptr < BranchIDListHelper > | branchIDListHelper_ |
bool | eventCached_ |
boost::shared_ptr < LuminosityBlockAuxiliary > | lumiAuxiliary_ |
int | maxEvents_ |
int | maxLumis_ |
ModuleDescription const | moduleDescription_ |
bool | newLumi_ |
bool | newRun_ |
unsigned int | numberOfEventsBeforeBigSkip_ |
bool const | primary_ |
std::string | processGUID_ |
ProcessingMode | processingMode_ |
boost::shared_ptr < ProductRegistry const > | productRegistry_ |
int | readCount_ |
boost::shared_ptr < edm::multicore::MessageReceiverForSource > | receiver_ |
int | remainingEvents_ |
int | remainingLumis_ |
boost::shared_ptr< RunAuxiliary > | runAuxiliary_ |
ItemType | state_ |
std::string | statusFileName_ |
Timestamp | time_ |
Definition at line 70 of file InputSource.h.
Reimplemented from edm::ProductRegistryHelper.
Definition at line 88 of file InputSource.h.
Definition at line 82 of file InputSource.h.
{ Runs, RunsAndLumis, RunsLumisAndEvents };
InputSource::InputSource | ( | ParameterSet const & | pset, |
InputSourceDescription const & | desc | ||
) | [explicit] |
Constructor.
Definition at line 55 of file InputSource.cc.
References edm::errors::Configuration, Exception, edm::ParameterSet::getUntrackedParameter(), primary_, processingMode(), processingMode_, edm::InputSourceDescription::productRegistry_, Runs, RunsAndLumis, statusFileName_, and AlCaHLTBitMon_QueryRunRegistry::string.
: ProductRegistryHelper(), actReg_(desc.actReg_), maxEvents_(desc.maxEvents_), remainingEvents_(maxEvents_), maxLumis_(desc.maxLumis_), remainingLumis_(maxLumis_), readCount_(0), processingMode_(RunsLumisAndEvents), moduleDescription_(desc.moduleDescription_), productRegistry_(createSharedPtrToStatic<ProductRegistry const>(desc.productRegistry_)), branchIDListHelper_(desc.branchIDListHelper_), primary_(pset.getParameter<std::string>("@module_label") == std::string("@main_input")), processGUID_(primary_ ? createGlobalIdentifier() : std::string()), time_(), newRun_(true), newLumi_(true), eventCached_(false), state_(IsInvalid), runAuxiliary_(), lumiAuxiliary_(), statusFileName_(), receiver_(), numberOfEventsBeforeBigSkip_(0) { if(pset.getUntrackedParameter<bool>("writeStatusFile", false)) { std::ostringstream statusfilename; statusfilename << "source_" << getpid(); statusFileName_ = statusfilename.str(); } // Secondary input sources currently do not have a product registry. if(primary_) { assert(desc.productRegistry_ != 0); } std::string const defaultMode("RunsLumisAndEvents"); std::string const runMode("Runs"); std::string const runLumiMode("RunsAndLumis"); // The default value provided as the second argument to the getUntrackedParameter function call // is not used when the ParameterSet has been validated and the parameters are not optional // in the description. As soon as all primary input sources and all modules with a secondary // input sources have defined descriptions, the defaults in the getUntrackedParameterSet function // calls can and should be deleted from the code. std::string processingMode = pset.getUntrackedParameter<std::string>("processingMode", defaultMode); if(processingMode == runMode) { processingMode_ = Runs; } else if(processingMode == runLumiMode) { processingMode_ = RunsAndLumis; } else if(processingMode != defaultMode) { throw Exception(errors::Configuration) << "InputSource::InputSource()\n" << "The 'processingMode' parameter for sources has an illegal value '" << processingMode << "'\n" << "Legal values are '" << defaultMode << "', '" << runLumiMode << "', or '" << runMode << "'.\n"; } }
InputSource::~InputSource | ( | ) | [virtual] |
boost::shared_ptr<ActivityRegistry> edm::InputSource::actReg | ( | ) | const [inline] |
Accessor for Activity Registry.
Definition at line 240 of file InputSource.h.
References actReg_.
Referenced by edm::InputSource::FileCloseSentry::FileCloseSentry().
{return actReg_;}
std::string const & InputSource::baseType | ( | ) | [static] |
void InputSource::beginJob | ( | void | ) | [private, virtual] |
Reimplemented in edm::ProducerSourceBase.
Definition at line 566 of file InputSource.cc.
Referenced by doBeginJob().
{}
void InputSource::beginLuminosityBlock | ( | LuminosityBlock & | ) | [private, virtual] |
Reimplemented in ErrorStreamSource, and edm::ProducerSourceBase.
Definition at line 554 of file InputSource.cc.
Referenced by doBeginLumi().
{}
void InputSource::beginRun | ( | Run & | ) | [private, virtual] |
Reimplemented in ErrorStreamSource, edm::ProducerSourceBase, AlpgenSource, LHESource, and MCatNLOSource.
Definition at line 560 of file InputSource.cc.
Referenced by doBeginRun().
{}
boost::shared_ptr<BranchIDListHelper> edm::InputSource::branchIDListHelper | ( | ) | const [inline] |
Accessor for branchIDListHelper.
Definition at line 164 of file InputSource.h.
References branchIDListHelper_.
Referenced by edm::StreamerInputSource::deserializeAndMergeWithRegistry(), edm::RootInputFileSequence::initFile(), and edm::StreamerInputSource::read().
{return branchIDListHelper_;}
void InputSource::closeFile | ( | boost::shared_ptr< FileBlock > | fb, |
bool | cleaningUpAfterException | ||
) |
close current file
Definition at line 271 of file InputSource.cc.
References closeFile_().
Referenced by edm::RawInputSource::preForkReleaseResources().
{ if(fb) fb->close(); callWithTryCatchAndPrint<void>( [this](){ closeFile_(); }, "Calling InputSource::closeFile_", cleaningUpAfterException ); return; }
virtual void edm::InputSource::closeFile_ | ( | ) | [inline, private, virtual] |
Reimplemented in DQMRootSource, edm::PoolSource, edm::StreamerInputModule< Producer >, and edm::StreamerFileReader.
Definition at line 362 of file InputSource.h.
Referenced by closeFile().
{}
void InputSource::decreaseRemainingEventsBy | ( | int | iSkipped | ) | [protected] |
Called by inheriting classes when running multicore when the receiver has told them to skip some events.
Definition at line 475 of file InputSource.cc.
References remainingEvents_.
Referenced by rewind(), and skipForForking().
{ if(-1 == remainingEvents_) { return; } if(iSkipped < remainingEvents_) { remainingEvents_ -= iSkipped; } else { remainingEvents_ = 0; } }
void InputSource::doBeginJob | ( | ) |
Called by framework at beginning of job.
Definition at line 244 of file InputSource.cc.
References beginJob().
{ this->beginJob(); }
void InputSource::doBeginLumi | ( | LuminosityBlockPrincipal & | lbp | ) |
Called by framework at beginning of lumi block.
Definition at line 510 of file InputSource.cc.
References beginLuminosityBlock(), edm::LuminosityBlock::commit_(), and moduleDescription().
{ LuminosityBlock lb(lbp, moduleDescription()); callWithTryCatchAndPrint<void>( [this,&lb](){ beginLuminosityBlock(lb); }, "Calling InputSource::beginLuminosityBlock" ); lb.commit_(); }
void InputSource::doBeginRun | ( | RunPrincipal & | rp | ) |
Called by framework at beginning of run.
Definition at line 495 of file InputSource.cc.
References beginRun(), edm::Run::commit_(), moduleDescription(), and run().
void InputSource::doEndJob | ( | ) |
Called by framework at end of job.
Definition at line 249 of file InputSource.cc.
References endJob().
Referenced by edm::PileUp::endJob().
{ endJob(); }
void InputSource::doEndLumi | ( | LuminosityBlockPrincipal & | lbp, |
bool | cleaningUpAfterException | ||
) |
Called by framework at end of lumi block.
Definition at line 517 of file InputSource.cc.
References edm::LuminosityBlock::commit_(), endLuminosityBlock(), moduleDescription(), edm::LuminosityBlockPrincipal::setEndTime(), and time_.
{ lbp.setEndTime(time_); LuminosityBlock lb(lbp, moduleDescription()); callWithTryCatchAndPrint<void>( [this,&lb](){ endLuminosityBlock(lb); }, "Calling InputSource::endLuminosityBlock", cleaningUpAfterException ); lb.commit_(); }
void InputSource::doEndRun | ( | RunPrincipal & | rp, |
bool | cleaningUpAfterException | ||
) |
Called by framework at end of run.
Definition at line 502 of file InputSource.cc.
References edm::Run::commit_(), endRun(), moduleDescription(), run(), edm::RunPrincipal::setEndTime(), and time_.
void InputSource::doPostForkReacquireResources | ( | boost::shared_ptr< multicore::MessageReceiverForSource > | iReceiver | ) |
Definition at line 530 of file InputSource.cc.
References postForkReacquireResources().
{ callWithTryCatchAndPrint<void>( [this, &iReceiver](){ postForkReacquireResources(iReceiver); }, "Calling InputSource::postForkReacquireResources" ); }
void InputSource::doPreForkReleaseResources | ( | ) |
Called by the framework before forking the process.
Definition at line 525 of file InputSource.cc.
References preForkReleaseResources().
{ callWithTryCatchAndPrint<void>( [this](){ preForkReleaseResources(); }, "Calling InputSource::preForkReleaseResources" ); }
void InputSource::endJob | ( | void | ) | [private, virtual] |
Reimplemented in LHESource, MCatNLOSource, and edm::PoolSource.
Definition at line 569 of file InputSource.cc.
Referenced by doEndJob().
{}
void InputSource::endLuminosityBlock | ( | LuminosityBlock & | ) | [private, virtual] |
Reimplemented in DQMRootSource, ErrorStreamSource, and edm::ProducerSourceBase.
Definition at line 557 of file InputSource.cc.
Referenced by doEndLumi().
{}
void InputSource::endRun | ( | Run & | ) | [private, virtual] |
Reimplemented in DQMRootSource, ErrorStreamSource, edm::ProducerSourceBase, and LHESource.
Definition at line 563 of file InputSource.cc.
Referenced by doEndRun().
{}
bool edm::InputSource::eventCached | ( | ) | const [inline, protected] |
Definition at line 339 of file InputSource.h.
References eventCached_.
Referenced by edm::ProducerSourceBase::getNextItemType(), edm::RawInputSource::getNextItemType(), edm::RawInputSource::readEvent_(), edm::ProducerSourceBase::readEvent_(), and edm::StreamerInputSource::resetAfterEndRun().
{return eventCached_;}
bool edm::InputSource::eventLimitReached | ( | ) | const [inline, private] |
Definition at line 349 of file InputSource.h.
References remainingEvents_.
Referenced by limitReached(), nextItemType(), readEvent(), and skipForForking().
{return remainingEvents_ == 0;}
void InputSource::fillDescription | ( | ParameterSetDescription & | desc | ) | [static] |
Reimplemented in edm::EDInputSource, edm::ProducerSourceBase, edm::ProducerSourceFromFiles, edm::RawInputSource, and edm::StreamerInputSource.
Definition at line 134 of file InputSource.cc.
References edm::ParameterSetDescription::addUntracked(), and AlCaHLTBitMon_QueryRunRegistry::string.
{ std::string defaultString("RunsLumisAndEvents"); desc.addUntracked<std::string>("processingMode", defaultString)->setComment( "'RunsLumisAndEvents': process runs, lumis, and events.\n" "'RunsAndLumis': process runs and lumis (not events).\n" "'Runs': process runs (not lumis or events)."); desc.addUntracked<bool>("writeStatusFile", false)->setComment("Write a status file. Intended for use by workflow management."); }
void InputSource::fillDescriptions | ( | ConfigurationDescriptions & | descriptions | ) | [static] |
Reimplemented in DQMRootSource, edm::EmptySource, edm::PoolSource, and edm::StreamerFileReader.
Definition at line 115 of file InputSource.cc.
References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().
{ ParameterSetDescription desc; desc.setUnknown(); descriptions.addDefault(desc); }
ProcessingController::ForwardState InputSource::forwardState | ( | ) | const |
Definition at line 542 of file InputSource.cc.
References forwardState_().
{ return callWithTryCatchAndPrint<ProcessingController::ForwardState>( [this](){ return forwardState_(); }, "Calling InputSource::forwardState_" ); }
ProcessingController::ForwardState InputSource::forwardState_ | ( | ) | const [private, virtual] |
Reimplemented in edm::PoolSource.
Definition at line 588 of file InputSource.cc.
References edm::ProcessingController::kUnknownForward.
Referenced by forwardState().
{ return ProcessingController::kUnknownForward; }
virtual ItemType edm::InputSource::getNextItemType | ( | ) | [private, pure virtual] |
Implemented in DQMRootSource, edm::ProducerSourceBase, edm::RawInputSource, edm::PoolSource, and edm::DaqSource.
Referenced by nextItemType_().
bool InputSource::goToEvent | ( | EventID const & | eventID | ) |
Definition at line 388 of file InputSource.cc.
References goToEvent_().
{ return callWithTryCatchAndPrint<bool>( [this,&eventID](){ return goToEvent_(eventID); }, "Calling InputSource::goToEvent_" ); }
bool InputSource::goToEvent_ | ( | EventID const & | eventID | ) | [private, virtual] |
Reimplemented in edm::PoolSource.
Definition at line 458 of file InputSource.cc.
References Exception, and edm::errors::LogicError.
Referenced by goToEvent().
{ throw Exception(errors::LogicError) << "InputSource::goToEvent_()\n" << "Random access is not implemented for this type of Input Source\n" << "Contact a Framework Developer\n"; return true; }
void InputSource::issueReports | ( | EventID const & | eventID | ) |
issue an event report
Definition at line 408 of file InputSource.cc.
References edm::EventID::event(), edm::isInfoEnabled(), edm::EventID::luminosityBlock(), readCount_, edm::EventID::run(), statusFileName_, and createPayload::suffix.
Referenced by readEvent().
{ if(isInfoEnabled()) { LogVerbatim("FwkReport") << "Begin processing the " << readCount_ << suffix(readCount_) << " record. Run " << eventID.run() << ", Event " << eventID.event() << ", LumiSection " << eventID.luminosityBlock() << " at " << std::setprecision(3) << TimeOfDay(); } if(!statusFileName_.empty()) { std::ofstream statusFile(statusFileName_.c_str()); statusFile << eventID << " time: " << std::setprecision(3) << TimeOfDay() << '\n'; statusFile.close(); } // At some point we may want to initiate checkpointing here }
bool edm::InputSource::limitReached | ( | ) | const [inline, private] |
Definition at line 351 of file InputSource.h.
References eventLimitReached(), and lumiLimitReached().
Referenced by readEvent(), and readFile().
{return eventLimitReached() || lumiLimitReached();}
bool edm::InputSource::lumiLimitReached | ( | ) | const [inline, private] |
Definition at line 350 of file InputSource.h.
References remainingLumis_.
Referenced by limitReached(), and nextItemType().
{return remainingLumis_ == 0;}
LuminosityBlockNumber_t InputSource::luminosityBlock | ( | ) | const |
Accessor for current luminosity block number.
Reimplemented in edm::ProducerSourceBase.
Definition at line 610 of file InputSource.cc.
References luminosityBlockAuxiliary().
Referenced by edm::DQMHttpSource::checkNextEvent(), and edm::StreamerInputSource::deserializeEvent().
{ assert(luminosityBlockAuxiliary()); return luminosityBlockAuxiliary()->luminosityBlock(); }
boost::shared_ptr<LuminosityBlockAuxiliary> edm::InputSource::luminosityBlockAuxiliary | ( | ) | const [inline] |
Called by the framework to merge or insert lumi in principal cache.
Definition at line 246 of file InputSource.h.
References lumiAuxiliary_.
Referenced by edm::DQMHttpSource::checkNextEvent(), edm::StreamerInputSource::deserializeEvent(), edm::RawInputSource::getNextItemType(), luminosityBlock(), readAndCacheLumi(), and edm::RawInputSource::readLuminosityBlockAuxiliary_().
{return lumiAuxiliary_;}
boost::shared_ptr<LuminosityBlockPrincipal> const edm::InputSource::luminosityBlockPrincipal | ( | ) | const [protected] |
int edm::InputSource::maxEvents | ( | ) | const [inline] |
Accessor for maximum number of events to be read. -1 is used for unlimited.
Definition at line 174 of file InputSource.h.
References maxEvents_.
{return maxEvents_;}
int edm::InputSource::maxLuminosityBlocks | ( | ) | const [inline] |
Accessor for maximum number of lumis to be read. -1 is used for unlimited.
Definition at line 182 of file InputSource.h.
References maxLumis_.
{return maxLumis_;}
ModuleDescription const& edm::InputSource::moduleDescription | ( | ) | const [inline] |
Accessor for 'module' description.
Definition at line 189 of file InputSource.h.
References moduleDescription_.
Referenced by doBeginLumi(), doBeginRun(), doEndLumi(), doEndRun(), processConfiguration(), readEvent(), edm::ProducerSourceBase::readEvent_(), and registerProducts().
{return moduleDescription_;}
bool edm::InputSource::newLumi | ( | ) | const [inline, protected] |
Definition at line 336 of file InputSource.h.
References newLumi_.
Referenced by edm::ProducerSourceBase::getNextItemType(), edm::RawInputSource::getNextItemType(), edm::RawInputSource::readEvent_(), and edm::RawInputSource::readLuminosityBlockAuxiliary_().
{return newLumi_;}
bool edm::InputSource::newRun | ( | ) | const [inline, protected] |
Definition at line 333 of file InputSource.h.
References newRun_.
Referenced by edm::DaqSource::doMyBeginRun(), edm::ProducerSourceBase::getNextItemType(), edm::RawInputSource::getNextItemType(), edm::RawInputSource::readEvent_(), edm::RawInputSource::readLuminosityBlockAuxiliary_(), and edm::RawInputSource::readRunAuxiliary_().
{return newRun_;}
InputSource::ItemType InputSource::nextItemType | ( | ) |
Definition at line 187 of file InputSource.cc.
References eventLimitReached(), IsEvent, IsFile, IsInvalid, IsLumi, IsRun, IsStop, lumiAuxiliary_, lumiLimitReached(), nextItemType_(), processingMode(), readLuminosityBlockAuxiliary(), readRunAuxiliary(), runAuxiliary_, Runs, RunsLumisAndEvents, and state_.
{ ItemType oldState = state_; if(eventLimitReached()) { // If the maximum event limit has been reached, stop. state_ = IsStop; } else if(lumiLimitReached()) { // If the maximum lumi limit has been reached, stop // when reaching a new file, run, or lumi. if(oldState == IsInvalid || oldState == IsFile || oldState == IsRun || processingMode() != RunsLumisAndEvents) { state_ = IsStop; } else { ItemType newState = nextItemType_(); if(newState == IsEvent) { assert (processingMode() == RunsLumisAndEvents); state_ = IsEvent; } else { state_ = IsStop; } } } else { ItemType newState = nextItemType_(); if(newState == IsStop) { state_ = IsStop; } else if(newState == IsFile || oldState == IsInvalid) { state_ = IsFile; } else if(newState == IsRun || oldState == IsFile) { runAuxiliary_ = readRunAuxiliary(); state_ = IsRun; } else if(newState == IsLumi || oldState == IsRun) { assert (processingMode() != Runs); lumiAuxiliary_ = readLuminosityBlockAuxiliary(); state_ = IsLumi; } else { assert (processingMode() == RunsLumisAndEvents); state_ = IsEvent; } } if(state_ == IsStop) { lumiAuxiliary_.reset(); runAuxiliary_.reset(); } return state_; }
InputSource::ItemType InputSource::nextItemType_ | ( | ) | [private] |
Definition at line 172 of file InputSource.cc.
References getNextItemType(), IsEvent, IsLumi, processingMode(), Runs, RunsLumisAndEvents, and skipEvents().
Referenced by nextItemType().
{ ItemType itemType = callWithTryCatchAndPrint<ItemType>( [this](){ return getNextItemType(); }, "Calling InputSource::getNextItemType" ); if(itemType == IsEvent && processingMode() != RunsLumisAndEvents) { skipEvents(1); return nextItemType_(); } if(itemType == IsLumi && processingMode() == Runs) { // QQQ skipLuminosityBlock_(); return nextItemType_(); } return itemType; }
void InputSource::postForkReacquireResources | ( | boost::shared_ptr< multicore::MessageReceiverForSource > | iReceiver | ) | [private, virtual] |
Definition at line 575 of file InputSource.cc.
References numberOfEventsBeforeBigSkip_, receiver_, and rewind().
Referenced by doPostForkReacquireResources().
{ receiver_ = iReceiver; receiver_->receive(); numberOfEventsBeforeBigSkip_ = receiver_->numberOfConsecutiveIndices(); rewind(); }
void InputSource::postRead | ( | Event & | event | ) | [private] |
Definition at line 487 of file InputSource.cc.
References edm::Service< T >::isAvailable().
Referenced by readEvent().
{ Service<RandomNumberGenerator> rng; if(rng.isAvailable()) { rng->postEventRead(event); } }
void InputSource::preForkReleaseResources | ( | ) | [private, virtual] |
Reimplemented in edm::RawInputSource, and edm::PoolSource.
Definition at line 572 of file InputSource.cc.
Referenced by doPreForkReleaseResources().
{}
void InputSource::prevalidate | ( | ConfigurationDescriptions & | ) | [static] |
Definition at line 122 of file InputSource.cc.
{ }
bool edm::InputSource::primary | ( | ) | const [inline] |
Accessor for primary input source flag.
Definition at line 195 of file InputSource.h.
References primary_.
{return primary_;}
ProcessConfiguration const& edm::InputSource::processConfiguration | ( | ) | const [inline] |
Accessor for Process Configuration.
Definition at line 192 of file InputSource.h.
References moduleDescription(), and edm::ModuleDescription::processConfiguration().
Referenced by edm::RootInputFileSequence::processConfiguration(), readAndCacheLumi(), readAndCacheRun(), edm::PoolSource::readLuminosityBlock_(), and edm::PoolSource::readRun_().
{return moduleDescription().processConfiguration();}
std::string const& edm::InputSource::processGUID | ( | ) | const [inline] |
Accessor for global process identifier.
Definition at line 198 of file InputSource.h.
References processGUID_.
Referenced by edm::ProducerSourceBase::readEvent_().
{return processGUID_;}
ProcessingMode edm::InputSource::processingMode | ( | ) | const [inline] |
RunsLumisAndEvents (default), RunsAndLumis, or Runs.
Definition at line 237 of file InputSource.h.
References processingMode_.
Referenced by edm::ProducerSourceBase::getNextItemType(), edm::RootInputFileSequence::initFile(), InputSource(), nextItemType(), nextItemType_(), edm::ProducerSourceBase::readEvent_(), and edm::ProducerSourceBase::readLuminosityBlockAuxiliary_().
{return processingMode_;}
boost::shared_ptr<ProductRegistry const> edm::InputSource::productRegistry | ( | ) | const [inline] |
Accessor for product registry.
Definition at line 161 of file InputSource.h.
References productRegistry_.
Referenced by edm::RootInputFileSequence::productRegistry(), and edm::StreamerInputSource::read().
{return productRegistry_;}
ProductRegistry& edm::InputSource::productRegistryUpdate | ( | ) | const [inline, protected] |
Definition at line 308 of file InputSource.h.
Referenced by edm::DaqSource::DaqSource(), edm::StreamerInputSource::deserializeAndMergeWithRegistry(), edm::RootInputFileSequence::productRegistryUpdate(), and registerProducts().
{return const_cast<ProductRegistry&>(*productRegistry_);}
bool InputSource::randomAccess | ( | ) | const |
Definition at line 536 of file InputSource.cc.
References randomAccess_().
{ return callWithTryCatchAndPrint<bool>( [this](){ return randomAccess_(); }, "Calling InputSource::randomAccess_" ); }
bool InputSource::randomAccess_ | ( | ) | const [private, virtual] |
Reimplemented in edm::PoolSource.
Definition at line 583 of file InputSource.cc.
Referenced by randomAccess().
{ return false; }
boost::shared_ptr< LuminosityBlockPrincipal > InputSource::readAndCacheLumi | ( | HistoryAppender & | historyAppender | ) |
Read next luminosity block (new lumi)
Definition at line 302 of file InputSource.cc.
References luminosityBlockAuxiliary(), processConfiguration(), productRegistry_, readLuminosityBlock_(), and remainingLumis_.
{ LumiSourceSentry sentry(*this); boost::shared_ptr<LuminosityBlockPrincipal> lbp( new LuminosityBlockPrincipal(luminosityBlockAuxiliary(), productRegistry_, processConfiguration(), &historyAppender)); callWithTryCatchAndPrint<boost::shared_ptr<LuminosityBlockPrincipal> >( [this,&lbp](){ return readLuminosityBlock_(lbp); }, "Calling InputSource::readLuminosityBlock_" ); if(remainingLumis_ > 0) { --remainingLumis_; } return lbp; }
boost::shared_ptr< RunPrincipal > InputSource::readAndCacheRun | ( | HistoryAppender & | historyAppender | ) |
Read next run (new run)
Definition at line 288 of file InputSource.cc.
References processConfiguration(), productRegistry_, readRun_(), and runAuxiliary().
{ RunSourceSentry sentry(*this); boost::shared_ptr<RunPrincipal> rp(new RunPrincipal(runAuxiliary(), productRegistry_, processConfiguration(), &historyAppender)); callWithTryCatchAndPrint<boost::shared_ptr<RunPrincipal> >( [this,&rp](){ return readRun_(rp); }, "Calling InputSource::readRun_" ); return rp; }
void InputSource::readAndMergeLumi | ( | boost::shared_ptr< LuminosityBlockPrincipal > | lbp | ) |
Read next luminosity block (same as a prior lumi)
Definition at line 318 of file InputSource.cc.
References readLuminosityBlock_(), and remainingLumis_.
{ LumiSourceSentry sentry(*this); callWithTryCatchAndPrint<boost::shared_ptr<LuminosityBlockPrincipal> >( [this,&lbp](){ return readLuminosityBlock_(lbp); }, "Calling InputSource::readLuminosityBlock_" ); if(remainingLumis_ > 0) { --remainingLumis_; } }
void InputSource::readAndMergeRun | ( | boost::shared_ptr< RunPrincipal > | rp | ) |
Read next run (same as a prior run)
Definition at line 296 of file InputSource.cc.
References readRun_().
{ RunSourceSentry sentry(*this); callWithTryCatchAndPrint<boost::shared_ptr<RunPrincipal> >( [this,&rp](){ return readRun_(rp); }, "Calling InputSource::readRun_" ); }
EventPrincipal * InputSource::readEvent | ( | EventPrincipal & | ep | ) |
Read next event Indicate inability to get a new event by returning a null ptr.
Definition at line 343 of file InputSource.cc.
References event(), eventLimitReached(), edm::EventPrincipal::id(), IsEvent, issueReports(), moduleDescription(), numberOfEventsBeforeBigSkip_, postRead(), readCount_, readEvent_(), receiver_, remainingEvents_, query::result, setTimestamp(), state_, and edm::EventPrincipal::time().
{ assert(state_ == IsEvent); assert(!eventLimitReached()); EventPrincipal* result = callWithTryCatchAndPrint<EventPrincipal*>( [this,&ep](){ return readEvent_(ep); }, "Calling InputSource::readEvent_" ); if(receiver_) { --numberOfEventsBeforeBigSkip_; } if(result != 0) { Event event(*result, moduleDescription()); postRead(event); if(remainingEvents_ > 0) --remainingEvents_; ++readCount_; setTimestamp(result->time()); issueReports(result->id()); } return result; }
EventPrincipal * InputSource::readEvent | ( | EventPrincipal & | ep, |
EventID const & | eventID | ||
) |
Read a specific event.
Definition at line 364 of file InputSource.cc.
References event(), edm::EventPrincipal::id(), issueReports(), limitReached(), moduleDescription(), postRead(), readCount_, readIt(), remainingEvents_, and query::result.
{ EventPrincipal* result = 0; if(!limitReached()) { //result = callWithTryCatchAndPrint<EventPrincipal*>( [this,ep,&eventID](){ return readIt(eventID, ep); }, "Calling InputSource::readIt" ); result = readIt(eventID, ep); if(result != 0) { Event event(*result, moduleDescription()); postRead(event); if(remainingEvents_ > 0) --remainingEvents_; ++readCount_; issueReports(result->id()); } } return result; }
virtual EventPrincipal* edm::InputSource::readEvent_ | ( | EventPrincipal & | eventPrincipal | ) | [private, pure virtual] |
Implemented in DQMRootSource, edm::ProducerSourceBase, edm::RawInputSource, edm::PoolSource, and edm::DaqSource.
Referenced by readEvent().
boost::shared_ptr< FileBlock > InputSource::readFile | ( | ) |
Read next file.
Definition at line 262 of file InputSource.cc.
References benchmark_cfg::fb, IsFile, limitReached(), readFile_(), and state_.
boost::shared_ptr< FileBlock > InputSource::readFile_ | ( | ) | [private, virtual] |
Reimplemented in DQMRootSource, edm::PoolSource, and edm::StreamerInputSource.
Definition at line 283 of file InputSource.cc.
Referenced by readFile().
{ return boost::shared_ptr<FileBlock>(new FileBlock); }
EventPrincipal * InputSource::readIt | ( | EventID const & | , |
EventPrincipal & | eventPrincipal | ||
) | [private, virtual] |
Reimplemented in edm::PoolSource.
Definition at line 426 of file InputSource.cc.
References Exception, and edm::errors::LogicError.
Referenced by readEvent().
{ throw Exception(errors::LogicError) << "InputSource::readIt()\n" << "Random access is not implemented for this type of Input Source\n" << "Contact a Framework Developer\n"; }
boost::shared_ptr< LuminosityBlockPrincipal > InputSource::readLuminosityBlock_ | ( | boost::shared_ptr< LuminosityBlockPrincipal > | lumiPrincipal | ) | [private, virtual] |
Reimplemented in DQMRootSource, and edm::PoolSource.
Definition at line 337 of file InputSource.cc.
Referenced by readAndCacheLumi(), and readAndMergeLumi().
{
lumiPrincipal->fillLuminosityBlockPrincipal();
return lumiPrincipal;
}
boost::shared_ptr< LuminosityBlockAuxiliary > InputSource::readLuminosityBlockAuxiliary | ( | ) |
Read next luminosity block Auxilary.
Definition at line 232 of file InputSource.cc.
References readLuminosityBlockAuxiliary_().
Referenced by nextItemType().
{ return callWithTryCatchAndPrint<boost::shared_ptr<LuminosityBlockAuxiliary> >( [this](){ return readLuminosityBlockAuxiliary_(); }, "Calling InputSource::readLuminosityBlockAuxiliary_" ); }
virtual boost::shared_ptr<LuminosityBlockAuxiliary> edm::InputSource::readLuminosityBlockAuxiliary_ | ( | ) | [private, pure virtual] |
Implemented in DQMRootSource, edm::ProducerSourceBase, edm::RawInputSource, edm::PoolSource, and edm::DaqSource.
Referenced by readLuminosityBlockAuxiliary().
boost::shared_ptr< RunPrincipal > InputSource::readRun_ | ( | boost::shared_ptr< RunPrincipal > | runPrincipal | ) | [private, virtual] |
Reimplemented in DQMRootSource, and edm::PoolSource.
Definition at line 328 of file InputSource.cc.
References runPrincipal().
Referenced by readAndCacheRun(), and readAndMergeRun().
{ // Note: For the moment, we do not support saving and restoring the state of the // random number generator if random numbers are generated during processing of runs // (e.g. beginRun(), endRun()) runPrincipal->fillRunPrincipal(); return runPrincipal; }
boost::shared_ptr< RunAuxiliary > InputSource::readRunAuxiliary | ( | ) |
Read next run Auxiliary.
Definition at line 238 of file InputSource.cc.
References readRunAuxiliary_().
Referenced by nextItemType().
{ return callWithTryCatchAndPrint<boost::shared_ptr<RunAuxiliary> >( [this](){ return readRunAuxiliary_(); }, "Calling InputSource::readRunAuxiliary_" ); }
virtual boost::shared_ptr<RunAuxiliary> edm::InputSource::readRunAuxiliary_ | ( | ) | [private, pure virtual] |
Implemented in DQMRootSource, edm::ProducerSourceBase, edm::RawInputSource, edm::PoolSource, and edm::DaqSource.
Referenced by readRunAuxiliary().
ProcessHistoryID const & InputSource::reducedProcessHistoryID | ( | ) | const |
Accessor for the reduced process history ID of the current run. This is the ID of the input process history which does not include the current process.
Definition at line 598 of file InputSource.cc.
References instance, and runAuxiliary().
{ assert(runAuxiliary()); return ProcessHistoryRegistry::instance()->extra().reduceProcessHistoryID(runAuxiliary()->processHistoryID()); }
void InputSource::registerProducts | ( | ) |
Register any produced products.
Definition at line 254 of file InputSource.cc.
References edm::ProductRegistryHelper::addToRegistry(), begin, relativeConstraints::empty, end, moduleDescription(), productRegistryUpdate(), and edm::ProductRegistryHelper::typeLabelList().
{ if(!typeLabelList().empty()) { addToRegistry(typeLabelList().begin(), typeLabelList().end(), moduleDescription(), productRegistryUpdate()); } }
int edm::InputSource::remainingEvents | ( | ) | const [inline] |
Accessor for remaining number of events to be read. -1 is used for unlimited.
Definition at line 178 of file InputSource.h.
References remainingEvents_.
Referenced by edm::RootInputFileSequence::remainingEvents(), and skipForForking().
{return remainingEvents_;}
int edm::InputSource::remainingLuminosityBlocks | ( | ) | const [inline] |
Accessor for remaining number of lumis to be read. -1 is used for unlimited.
Definition at line 186 of file InputSource.h.
References remainingLumis_.
Referenced by edm::RootInputFileSequence::remainingLuminosityBlocks(), and skipForForking().
{return remainingLumis_;}
void edm::InputSource::repeat | ( | ) | [inline] |
Reset the remaining number of events/lumis to the maximum number.
Definition at line 167 of file InputSource.h.
References maxEvents_, maxLumis_, remainingEvents_, and remainingLumis_.
{ remainingEvents_ = maxEvents_; remainingLumis_ = maxLumis_; }
void edm::InputSource::reset | ( | void | ) | const [inline, protected] |
Definition at line 326 of file InputSource.h.
References IsInvalid, resetLuminosityBlockAuxiliary(), resetRunAuxiliary(), and state_.
Referenced by edm::StreamerInputSource::resetAfterEndRun().
{ resetLuminosityBlockAuxiliary(); resetRunAuxiliary(); state_ = IsInvalid; }
void edm::InputSource::resetEventCached | ( | ) | [inline, protected] |
Definition at line 342 of file InputSource.h.
References eventCached_.
Referenced by edm::RawInputSource::readEvent_(), edm::ProducerSourceBase::readEvent_(), and rewind().
{eventCached_ = false;}
void edm::InputSource::resetLuminosityBlockAuxiliary | ( | bool | isNewLumi = true | ) | const [inline, protected] |
Definition at line 322 of file InputSource.h.
References lumiAuxiliary_, and newLumi_.
Referenced by edm::StreamerInputSource::deserializeEvent(), edm::RawInputSource::getNextItemType(), reset(), and edm::StreamerInputSource::resetAfterEndRun().
{ lumiAuxiliary_.reset(); newLumi_ = isNewLumi; }
void edm::InputSource::resetNewLumi | ( | ) | [inline, protected] |
Definition at line 338 of file InputSource.h.
References newLumi_.
Referenced by edm::RawInputSource::readLuminosityBlockAuxiliary_(), and edm::ProducerSourceBase::readLuminosityBlockAuxiliary_().
{newLumi_ = false;}
void edm::InputSource::resetNewRun | ( | ) | [inline, protected] |
Definition at line 335 of file InputSource.h.
References newRun_.
Referenced by edm::RawInputSource::readRunAuxiliary_(), and edm::ProducerSourceBase::readRunAuxiliary_().
{newRun_ = false;}
void edm::InputSource::resetRunAuxiliary | ( | bool | isNewRun = true | ) | const [inline, protected] |
Definition at line 318 of file InputSource.h.
References newLumi_, newRun_, and runAuxiliary_.
Referenced by edm::RawInputSource::getNextItemType(), reset(), and edm::StreamerInputSource::resetAfterEndRun().
{ runAuxiliary_.reset(); newRun_ = newLumi_ = isNewRun; }
ProcessingController::ReverseState InputSource::reverseState | ( | ) | const |
Definition at line 548 of file InputSource.cc.
References reverseState_().
{ return callWithTryCatchAndPrint<ProcessingController::ReverseState>( [this](){ return reverseState_(); }, "Calling InputSource::reverseState__" ); }
ProcessingController::ReverseState InputSource::reverseState_ | ( | ) | const [private, virtual] |
Reimplemented in edm::PoolSource.
Definition at line 593 of file InputSource.cc.
References edm::ProcessingController::kUnknownReverse.
Referenced by reverseState().
{ return ProcessingController::kUnknownReverse; }
void InputSource::rewind | ( | ) |
Begin again at the first event.
Definition at line 393 of file InputSource.cc.
References decreaseRemainingEventsBy(), IsInvalid, maxEvents_, receiver_, remainingEvents_, resetEventCached(), rewind_(), setNewLumi(), setNewRun(), skip(), and state_.
Referenced by postForkReacquireResources().
{ state_ = IsInvalid; remainingEvents_ = maxEvents_; setNewRun(); setNewLumi(); resetEventCached(); callWithTryCatchAndPrint<void>( [this](){ rewind_(); }, "Calling InputSource::rewind_" ); if(receiver_) { unsigned int numberToSkip = receiver_->numberToSkip(); skip(numberToSkip); decreaseRemainingEventsBy(numberToSkip); } }
void InputSource::rewind_ | ( | ) | [private, virtual] |
Reimplemented in edm::ProducerSourceBase, edm::RawInputSource, and edm::PoolSource.
Definition at line 467 of file InputSource.cc.
References Exception, and edm::errors::LogicError.
Referenced by rewind().
{ throw Exception(errors::LogicError) << "InputSource::rewind()\n" << "Forking and random access are not implemented for this type of Input Source\n" << "Contact a Framework Developer\n"; }
RunNumber_t InputSource::run | ( | void | ) | const |
Accessor for current run number.
Reimplemented in edm::ProducerSourceBase.
Definition at line 604 of file InputSource.cc.
References runAuxiliary().
Referenced by edm::DQMHttpSource::checkNextEvent(), edm::StreamerInputSource::deserializeEvent(), doBeginRun(), and doEndRun().
{ assert(runAuxiliary()); return runAuxiliary()->run(); }
boost::shared_ptr<RunAuxiliary> edm::InputSource::runAuxiliary | ( | ) | const [inline] |
Called by the framework to merge or insert run in principal cache.
Definition at line 243 of file InputSource.h.
References runAuxiliary_.
Referenced by edm::DQMHttpSource::checkNextEvent(), edm::StreamerInputSource::deserializeEvent(), edm::RawInputSource::getNextItemType(), readAndCacheRun(), edm::RawInputSource::readRunAuxiliary_(), reducedProcessHistoryID(), and run().
{return runAuxiliary_;}
boost::shared_ptr<RunPrincipal> const edm::InputSource::runPrincipal | ( | ) | const [protected] |
Referenced by readRun_().
void edm::InputSource::setEventCached | ( | ) | [inline, protected] |
Called by the framework to merge or ached() const {return eventCached_;}.
Definition at line 341 of file InputSource.h.
References eventCached_.
Referenced by edm::DQMHttpSource::checkNextEvent(), edm::StreamerInputSource::deserializeEvent(), and edm::ProducerSourceBase::getNextItemType().
{eventCached_ = true;}
void InputSource::setLumi | ( | LuminosityBlockNumber_t | lb | ) | [private, virtual] |
Reimplemented in edm::DaqSource.
Definition at line 442 of file InputSource.cc.
References Exception, and edm::errors::LogicError.
Referenced by setLuminosityBlockNumber_t().
{ throw Exception(errors::LogicError) << "InputSource::setLumi()\n" << "Luminosity Block ID cannot be modified for this type of Input Source\n" << "Contact a Framework Developer\n"; }
void edm::InputSource::setLuminosityBlockAuxiliary | ( | LuminosityBlockAuxiliary * | lbp | ) | [inline, protected] |
Definition at line 314 of file InputSource.h.
References lumiAuxiliary_, and newLumi_.
Referenced by edm::DQMHttpSource::checkNextEvent(), and edm::StreamerInputSource::deserializeEvent().
{ lumiAuxiliary_.reset(lbp); newLumi_ = true; }
void edm::InputSource::setLuminosityBlockNumber_t | ( | LuminosityBlockNumber_t | lb | ) | [inline] |
Set the luminosity block ID.
Definition at line 152 of file InputSource.h.
References setLumi().
{setLumi(lb);}
void edm::InputSource::setNewLumi | ( | ) | [inline, protected] |
Definition at line 337 of file InputSource.h.
References newLumi_.
Referenced by edm::ProducerSourceBase::getNextItemType(), rewind(), edm::ProducerSourceBase::rewind_(), and edm::ProducerSourceBase::skip().
{newLumi_ = true;}
void edm::InputSource::setNewRun | ( | ) | [inline, protected] |
Definition at line 334 of file InputSource.h.
References newRun_.
Referenced by edm::ProducerSourceBase::getNextItemType(), rewind(), edm::ProducerSourceBase::rewind_(), and edm::ProducerSourceBase::skip().
{newRun_ = true;}
void InputSource::setRun | ( | RunNumber_t | r | ) | [private, virtual] |
Reimplemented in edm::StreamerInputSource, and edm::DaqSource.
Definition at line 434 of file InputSource.cc.
References Exception, and edm::errors::LogicError.
Referenced by setRunNumber().
{ throw Exception(errors::LogicError) << "InputSource::setRun()\n" << "Run number cannot be modified for this type of Input Source\n" << "Contact a Framework Developer\n"; }
void edm::InputSource::setRunAuxiliary | ( | RunAuxiliary * | rp | ) | [inline, protected] |
Definition at line 310 of file InputSource.h.
References newLumi_, newRun_, and runAuxiliary_.
Referenced by edm::DQMHttpSource::checkNextEvent(), and edm::StreamerInputSource::deserializeEvent().
{ runAuxiliary_.reset(rp); newRun_ = newLumi_ = true; }
void edm::InputSource::setRunNumber | ( | RunNumber_t | r | ) | [inline] |
void edm::InputSource::setTimestamp | ( | Timestamp const & | theTime | ) | [inline, protected] |
To set the current time, as seen by the input source.
Definition at line 306 of file InputSource.h.
References time_.
Referenced by edm::DaqSource::DaqSource(), edm::ProducerSourceBase::ProducerSourceBase(), edm::RawInputSource::RawInputSource(), and readEvent().
{time_ = theTime;}
void InputSource::skip | ( | int | offset | ) | [protected, virtual] |
Reimplemented in edm::ProducerSourceBase, edm::PoolSource, edm::StreamerFileReader, and edm::DaqSource.
Definition at line 450 of file InputSource.cc.
References Exception, and edm::errors::LogicError.
Referenced by rewind(), and skipEvents().
{ throw Exception(errors::LogicError) << "InputSource::skip()\n" << "Forking and random access are not implemented for this type of Input Source\n" << "Contact a Framework Developer\n"; }
void InputSource::skipEvents | ( | int | offset | ) |
Skip the number of events specified. Offset may be negative.
Definition at line 383 of file InputSource.cc.
References evf::evtn::offset(), and skip().
Referenced by nextItemType_(), and skipForForking().
bool InputSource::skipForForking | ( | ) |
Skips the correct number of events if this is a forked process returns false if we are out of events
Definition at line 144 of file InputSource.cc.
References decreaseRemainingEventsBy(), eventLimitReached(), numberOfEventsBeforeBigSkip_, receiver_, remainingEvents(), remainingLuminosityBlocks(), and skipEvents().
{ if(eventLimitReached()) { return false; } if(receiver_ && 0 == numberOfEventsBeforeBigSkip_) { receiver_->receive(); unsigned long toSkip = receiver_->numberToSkip(); if(0 != toSkip) { skipEvents(toSkip); decreaseRemainingEventsBy(toSkip); } numberOfEventsBeforeBigSkip_ = receiver_->numberOfConsecutiveIndices(); if(0 == numberOfEventsBeforeBigSkip_ or 0 == remainingEvents() or 0 == remainingLuminosityBlocks()) { return false; } } return true; }
ItemType edm::InputSource::state | ( | ) | const [inline, protected] |
Definition at line 309 of file InputSource.h.
References state_.
Referenced by edm::ProducerSourceBase::getNextItemType(), and edm::RawInputSource::getNextItemType().
{return state_;}
Timestamp const& edm::InputSource::timestamp | ( | ) | const [inline] |
Accessor for the current time, as seen by the input source.
Definition at line 223 of file InputSource.h.
References time_.
{return time_;}
boost::shared_ptr<ActivityRegistry> edm::InputSource::actReg_ [private] |
Definition at line 382 of file InputSource.h.
Referenced by actReg().
boost::shared_ptr<BranchIDListHelper> edm::InputSource::branchIDListHelper_ [private] |
Definition at line 391 of file InputSource.h.
Referenced by branchIDListHelper().
bool edm::InputSource::eventCached_ [private] |
Definition at line 397 of file InputSource.h.
Referenced by eventCached(), resetEventCached(), and setEventCached().
boost::shared_ptr<LuminosityBlockAuxiliary> edm::InputSource::lumiAuxiliary_ [mutable, private] |
Definition at line 400 of file InputSource.h.
Referenced by luminosityBlockAuxiliary(), nextItemType(), resetLuminosityBlockAuxiliary(), and setLuminosityBlockAuxiliary().
int edm::InputSource::maxEvents_ [private] |
Reimplemented in LmfSource.
Definition at line 383 of file InputSource.h.
Referenced by maxEvents(), repeat(), and rewind().
int edm::InputSource::maxLumis_ [private] |
Definition at line 385 of file InputSource.h.
Referenced by maxLuminosityBlocks(), and repeat().
ModuleDescription const edm::InputSource::moduleDescription_ [private] |
Definition at line 389 of file InputSource.h.
Referenced by moduleDescription().
bool edm::InputSource::newLumi_ [mutable, private] |
Definition at line 396 of file InputSource.h.
Referenced by newLumi(), resetLuminosityBlockAuxiliary(), resetNewLumi(), resetRunAuxiliary(), setLuminosityBlockAuxiliary(), setNewLumi(), and setRunAuxiliary().
bool edm::InputSource::newRun_ [mutable, private] |
Definition at line 395 of file InputSource.h.
Referenced by newRun(), resetNewRun(), resetRunAuxiliary(), setNewRun(), and setRunAuxiliary().
unsigned int edm::InputSource::numberOfEventsBeforeBigSkip_ [private] |
Definition at line 405 of file InputSource.h.
Referenced by postForkReacquireResources(), readEvent(), and skipForForking().
bool const edm::InputSource::primary_ [private] |
Definition at line 392 of file InputSource.h.
Referenced by InputSource(), and primary().
std::string edm::InputSource::processGUID_ [private] |
Definition at line 393 of file InputSource.h.
Referenced by processGUID().
Definition at line 388 of file InputSource.h.
Referenced by InputSource(), and processingMode().
boost::shared_ptr<ProductRegistry const> edm::InputSource::productRegistry_ [private] |
Definition at line 390 of file InputSource.h.
Referenced by productRegistry(), readAndCacheLumi(), and readAndCacheRun().
int edm::InputSource::readCount_ [private] |
Definition at line 387 of file InputSource.h.
Referenced by issueReports(), and readEvent().
boost::shared_ptr<edm::multicore::MessageReceiverForSource> edm::InputSource::receiver_ [private] |
Definition at line 404 of file InputSource.h.
Referenced by postForkReacquireResources(), readEvent(), rewind(), and skipForForking().
int edm::InputSource::remainingEvents_ [private] |
Definition at line 384 of file InputSource.h.
Referenced by decreaseRemainingEventsBy(), eventLimitReached(), readEvent(), remainingEvents(), repeat(), and rewind().
int edm::InputSource::remainingLumis_ [private] |
Definition at line 386 of file InputSource.h.
Referenced by lumiLimitReached(), readAndCacheLumi(), readAndMergeLumi(), remainingLuminosityBlocks(), and repeat().
boost::shared_ptr<RunAuxiliary> edm::InputSource::runAuxiliary_ [mutable, private] |
Definition at line 399 of file InputSource.h.
Referenced by nextItemType(), resetRunAuxiliary(), runAuxiliary(), and setRunAuxiliary().
ItemType edm::InputSource::state_ [mutable, private] |
Definition at line 398 of file InputSource.h.
Referenced by nextItemType(), readEvent(), readFile(), reset(), rewind(), and state().
std::string edm::InputSource::statusFileName_ [private] |
Definition at line 401 of file InputSource.h.
Referenced by InputSource(), and issueReports().
Timestamp edm::InputSource::time_ [private] |
Definition at line 394 of file InputSource.h.
Referenced by doEndLumi(), doEndRun(), setTimestamp(), and timestamp().