#include <EventPrincipal.h>
Public Types | |
typedef EventAuxiliary | Auxiliary |
typedef Principal | Base |
typedef Base::SharedConstGroupPtr | SharedConstGroupPtr |
Public Types inherited from edm::Principal | |
typedef std::vector< BasicHandle > | BasicHandleVec |
typedef boost::filter_iterator < FilledGroupPtr, GroupCollection::const_iterator > | const_iterator |
typedef std::vector < boost::shared_ptr< Group > > | GroupCollection |
typedef std::string | ProcessName |
typedef ProcessHistory::const_iterator | ProcessNameConstIterator |
typedef boost::shared_ptr < Group const > | SharedConstGroupPtr |
typedef boost::shared_ptr< Group > | SharedGroupPtr |
typedef GroupCollection::size_type | size_type |
Public Member Functions | |
EventAuxiliary const & | aux () const |
ProductID | branchIDToProductID (BranchID const &bid) const |
BranchListIndexes const & | branchListIndexes () const |
int const | bunchCrossing () const |
void | clearEventPrincipal () |
EventPrincipal (boost::shared_ptr< ProductRegistry const > reg, ProcessConfiguration const &pc) | |
EventSelectionIDVector const & | eventSelectionIDs () const |
EventAuxiliary::ExperimentType | ExperimentType () const |
void | fillEventPrincipal (std::auto_ptr< EventAuxiliary > aux, boost::shared_ptr< LuminosityBlockPrincipal > lbp, boost::shared_ptr< EventSelectionIDVector > eventSelectionIDs=boost::shared_ptr< EventSelectionIDVector >(new EventSelectionIDVector), boost::shared_ptr< BranchListIndexes > branchListIndexes=boost::shared_ptr< BranchListIndexes >(new BranchListIndexes), boost::shared_ptr< BranchMapper > mapper=boost::shared_ptr< BranchMapper >(new BranchMapper), boost::shared_ptr< DelayedReader > rtrv=boost::shared_ptr< DelayedReader >(new NoDelayedReader)) |
BasicHandle | getByProductID (ProductID const &oid) const |
virtual EDProduct const * | getIt (ProductID const &pid) const |
Provenance | getProvenance (ProductID const &pid) const |
EventID const & | id () const |
bool const | isReal () const |
LuminosityBlockNumber_t | luminosityBlock () const |
LuminosityBlockPrincipal const & | luminosityBlockPrincipal () const |
LuminosityBlockPrincipal & | luminosityBlockPrincipal () |
void | put (ConstBranchDescription const &bd, std::auto_ptr< EDProduct > edp, std::auto_ptr< ProductProvenance > productProvenance) |
void | putOnRead (ConstBranchDescription const &bd, std::auto_ptr< EDProduct > edp, std::auto_ptr< ProductProvenance > productProvenance) |
RunNumber_t | run () const |
RunPrincipal const & | runPrincipal () const |
RunPrincipal & | runPrincipal () |
void | setUnscheduledHandler (boost::shared_ptr< UnscheduledHandler > iHandler) |
int const | storeNumber () const |
Timestamp const & | time () const |
boost::shared_ptr < UnscheduledHandler > | unscheduledHandler () const |
~EventPrincipal () | |
Public Member Functions inherited from edm::Principal | |
void | addGroupInput (boost::shared_ptr< ConstBranchDescription > bd) |
void | addGroupScheduled (boost::shared_ptr< ConstBranchDescription > bd) |
void | addGroupSource (boost::shared_ptr< ConstBranchDescription > bd) |
void | addOnDemandGroup (boost::shared_ptr< ConstBranchDescription > bd) |
void | adjustIndexesAfterProductRegistryAddition () |
bool | adjustToNewProductRegistry (ProductRegistry const ®) |
const_iterator | begin () const |
boost::shared_ptr< BranchMapper > | branchMapperPtr () const |
BranchType const & | branchType () const |
void | clearPrincipal () |
const_iterator | end () const |
void | fillPrincipal (ProcessHistoryID const &hist, boost::shared_ptr< BranchMapper > mapper, boost::shared_ptr< DelayedReader > rtrv) |
void | getAllProvenance (std::vector< Provenance const * > &provenances) const |
BasicHandle | getByLabel (TypeID const &tid, std::string const &label, std::string const &productInstanceName, std::string const &processName, size_t &cachedOffset, int &fillCount) const |
BasicHandle | getBySelector (TypeID const &tid, SelectorBase const &s) const |
BasicHandle | getByType (TypeID const &tid) const |
OutputHandle | getForOutput (BranchID const &bid, bool getProd) const |
SharedConstGroupPtr const | getGroup (BranchID const &oid, bool resolveProd, bool fillOnDemand) const |
void | getMany (TypeID const &tid, SelectorBase const &, BasicHandleVec &results) const |
void | getManyByType (TypeID const &tid, BasicHandleVec &results) const |
size_t | getMatchingSequence (TypeID const &typeID, SelectorBase const &selector, BasicHandle &result) const |
Provenance | getProvenance (BranchID const &bid) const |
void | maybeFlushCache (TypeID const &tid, InputTag const &tag) const |
Principal (boost::shared_ptr< ProductRegistry const > reg, ProcessConfiguration const &pc, BranchType bt) | |
ProcessConfiguration const & | processConfiguration () const |
ProcessHistory const & | processHistory () const |
ProcessHistoryID const & | processHistoryID () const |
EDProductGetter const * | prodGetter () const |
ProductRegistry const & | productRegistry () const |
void | recombine (Principal &other, std::vector< BranchID > const &bids) |
size_t | size () const |
boost::shared_ptr< DelayedReader > | store () const |
virtual | ~Principal () |
Public Member Functions inherited from edm::EDProductGetter | |
EDProductGetter () | |
ProductID | oldToNewProductID (ProductID const &oldProductID) const |
virtual | ~EDProductGetter () |
Static Public Attributes | |
static int const | invalidBunchXing = EventAuxiliary::invalidBunchXing |
static int const | invalidStoreNumber = EventAuxiliary::invalidStoreNumber |
Private Member Functions | |
virtual ProductID | oldToNewProductID_ (ProductID const &oldProductID) const |
BranchID | pidToBid (ProductID const &pid) const |
virtual void | resolveProduct_ (Group const &g, bool fillOnDemand) const |
virtual bool | unscheduledFill (std::string const &moduleLabel) const |
Private Attributes | |
boost::scoped_ptr< EventAuxiliary > | aux_ |
boost::shared_ptr < BranchListIndexes > | branchListIndexes_ |
std::map< BranchListIndex, ProcessIndex > | branchListIndexToProcessIndex_ |
boost::shared_ptr < EventSelectionIDVector > | eventSelectionIDs_ |
boost::shared_ptr < LuminosityBlockPrincipal > | luminosityBlockPrincipal_ |
std::vector< std::string > | moduleLabelsRunning_ |
boost::shared_ptr < UnscheduledHandler > | unscheduledHandler_ |
Additional Inherited Members | |
Static Public Member Functions inherited from edm::EDProductGetter | |
static void | assignEDProductGetter (EDProductGetter const *&) |
static EDProductGetter const * | switchProductGetter (EDProductGetter const *) |
These can only be used internally by the framework. More... | |
Protected Member Functions inherited from edm::Principal | |
void | addGroup_ (std::auto_ptr< Group > g) |
void | addGroupOrThrow (std::auto_ptr< Group > g) |
void | checkUniquenessAndType (std::auto_ptr< EDProduct > &prod, Group const *group) const |
Group * | getExistingGroup (BranchID const &branchID) |
Group * | getExistingGroup (Group const &g) |
SharedConstGroupPtr const | getGroupByIndex (ProductTransientIndex const &oid, bool resolveProd, bool fillOnDemand) const |
ProcessHistory & | processHistoryUpdate () |
void | putOrMerge (std::auto_ptr< EDProduct > prod, Group const *group) const |
void | putOrMerge (std::auto_ptr< EDProduct > prod, std::auto_ptr< ProductProvenance > prov, Group *group) |
void | resolveProduct (Group const &g, bool fillOnDemand) const |
void | setProcessHistory (Principal const &principal) |
void | swapBase (Principal &) |
Definition at line 36 of file EventPrincipal.h.
Definition at line 38 of file EventPrincipal.h.
typedef Principal edm::EventPrincipal::Base |
Definition at line 39 of file EventPrincipal.h.
Definition at line 41 of file EventPrincipal.h.
edm::EventPrincipal::EventPrincipal | ( | boost::shared_ptr< ProductRegistry const > | reg, |
ProcessConfiguration const & | pc | ||
) |
Definition at line 19 of file EventPrincipal.cc.
|
inline |
Definition at line 47 of file EventPrincipal.h.
|
inline |
Definition at line 90 of file EventPrincipal.h.
References aux_.
Referenced by bunchCrossing(), ExperimentType(), id(), isReal(), edm::isSameEvent(), edm::StreamSerializer::serializeEvent(), storeNumber(), time(), edm::SubProcess::write(), and edm::RootOutputFile::writeOne().
Definition at line 161 of file EventPrincipal.cc.
References branchListIndexToProcessIndex_, edm::hlt::Exception, edm::detail::ThreadSafeIndexedRegistry< T, E >::extra(), i, edm::detail::ThreadSafeIndexedRegistry< T, E >::instance(), edm::BranchID::isValid(), and edm::errors::NotFound.
Referenced by fillEventPrincipal(), edm::Event::makeProductID(), and oldToNewProductID_().
BranchListIndexes const & edm::EventPrincipal::branchListIndexes | ( | ) | const |
Definition at line 235 of file EventPrincipal.cc.
References branchListIndexes_.
Referenced by fillEventPrincipal(), edm::StreamSerializer::serializeEvent(), and edm::RootOutputFile::writeOne().
|
inline |
Definition at line 82 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::bunchCrossing().
void edm::EventPrincipal::clearEventPrincipal | ( | ) |
Definition at line 32 of file EventPrincipal.cc.
References aux_, branchListIndexes_, branchListIndexToProcessIndex_, edm::Principal::clearPrincipal(), eventSelectionIDs_, luminosityBlockPrincipal_, moduleLabelsRunning_, and unscheduledHandler_.
Referenced by edm::EventProcessor::readAndProcessEvent().
EventSelectionIDVector const & edm::EventPrincipal::eventSelectionIDs | ( | ) | const |
Definition at line 230 of file EventPrincipal.cc.
References eventSelectionIDs_.
Referenced by edm::Event::eventSelectionIDs(), fillEventPrincipal(), edm::StreamSerializer::serializeEvent(), and edm::RootOutputFile::writeOne().
|
inline |
Definition at line 78 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::experimentType().
void edm::EventPrincipal::fillEventPrincipal | ( | std::auto_ptr< EventAuxiliary > | aux, |
boost::shared_ptr< LuminosityBlockPrincipal > | lbp, | ||
boost::shared_ptr< EventSelectionIDVector > | eventSelectionIDs = boost::shared_ptr<EventSelectionIDVector>(new EventSelectionIDVector) , |
||
boost::shared_ptr< BranchListIndexes > | branchListIndexes = boost::shared_ptr<BranchListIndexes>(new BranchListIndexes) , |
||
boost::shared_ptr< BranchMapper > | mapper = boost::shared_ptr<BranchMapper>(new BranchMapper) , |
||
boost::shared_ptr< DelayedReader > | rtrv = boost::shared_ptr<DelayedReader>(new NoDelayedReader) |
||
) |
Definition at line 44 of file EventPrincipal.cc.
References aux_, edm::Principal::begin(), branchIDToProductID(), branchListIndexes(), branchListIndexes_, branchListIndexToProcessIndex_, edm::Principal::end(), eventSelectionIDs(), eventSelectionIDs_, edm::Principal::fillPrincipal(), edm::BranchIDListHelper::fixBranchListIndexes(), edm::InEvent, luminosityBlockPrincipal_, edm::Principal::processHistoryID(), edm::Principal::productRegistry(), and edm::Principal::setProcessHistory().
Referenced by edm::StreamerInputSource::deserializeEvent(), edm::DaqSource::getNextItemType(), edm::RawInputSource::makeEvent(), edm::RootFile::readCurrentEvent(), edm::ConfigurableInputSource::reallyReadEvent(), and edm::SubProcess::write().
BasicHandle edm::EventPrincipal::getByProductID | ( | ProductID const & | oid | ) | const |
Definition at line 186 of file EventPrincipal.cc.
References edm::hlt::Exception, g, edm::Principal::getGroup(), pidToBid(), and edm::errors::ProductNotFound.
Referenced by edm::Event::getByProductID_(), and getIt().
Reimplemented from edm::Principal.
Definition at line 209 of file EventPrincipal.cc.
References getByProductID(), and edm::BasicHandle::wrapper().
Provenance edm::EventPrincipal::getProvenance | ( | ProductID const & | pid | ) | const |
Definition at line 214 of file EventPrincipal.cc.
References pidToBid().
Referenced by edm::Event::getProvenance().
|
inline |
Definition at line 66 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::id().
Referenced by edm::DataMixingEMWorker::addEMPileups(), edm::DataMixingEMDigiWorker::addEMPileups(), edm::DataMixingGeneralTrackWorker::addGeneralTrackPileups(), edm::DataMixingHcalWorker::addHcalPileups(), edm::DataMixingHcalDigiWorker::addHcalPileups(), edm::DataMixingHcalDigiWorkerProd::addHcalPileups(), edm::DataMixingMuonWorker::addMuonPileups(), edm::MixingModule::addPileups(), edm::DataMixingModule::addPileups(), edm::DataMixingSiPixelWorker::addSiPixelPileups(), edm::DataMixingSiStripWorker::addSiStripPileups(), edm::DataMixingSiStripRawWorker::addSiStripPileups(), edm::NoDelayedReader::getProduct_(), luminosityBlock(), edm::OccurrenceTraits< EventPrincipal, BranchActionBegin >::preScheduleSignal(), edm::EventProcessor::readAndProcessEvent(), edm::InputSource::readEvent(), edm::PoolSource::readEvent_(), edm::Schedule::reportSkipped(), run(), edm::StreamerOutputModuleBase::serializeEvent(), edm::StreamSerializer::serializeEvent(), edm::AsciiOutputModule::write(), edm::GetProductCheckerOutputModule::write(), edm::PoolOutputModule::write(), and edm::RootOutputFile::writeOne().
|
inline |
Definition at line 74 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::isRealData().
|
inline |
Definition at line 94 of file EventPrincipal.h.
References id(), and edm::EventID::luminosityBlock().
Referenced by Types.EventID::cppID(), Types.LuminosityBlockID::cppID(), edm::InputSource::readEvent(), edm::PoolSource::readEvent_(), and edm::StreamerOutputModuleBase::serializeEvent().
|
inline |
Definition at line 58 of file EventPrincipal.h.
References luminosityBlockPrincipal_.
Referenced by runPrincipal().
|
inline |
Definition at line 62 of file EventPrincipal.h.
References luminosityBlockPrincipal_.
|
privatevirtual |
Reimplemented from edm::EDProductGetter.
Definition at line 270 of file EventPrincipal.cc.
References branchIDToProductID(), edm::Principal::branchMapperPtr(), and edm::BranchID::isValid().
Definition at line 152 of file EventPrincipal.cc.
References branchListIndexes_, runTheMatrix::data, edm::hlt::Exception, edm::detail::ThreadSafeIndexedRegistry< T, E >::instance(), edm::ProductID::isValid(), edm::productIDToBranchID(), and edm::errors::ProductNotFound.
Referenced by getByProductID(), and getProvenance().
void edm::EventPrincipal::put | ( | ConstBranchDescription const & | bd, |
std::auto_ptr< EDProduct > | edp, | ||
std::auto_ptr< ProductProvenance > | productProvenance | ||
) |
Definition at line 94 of file EventPrincipal.cc.
References edm::ConstBranchDescription::branchID(), edm::Principal::branchMapperPtr(), edm::Principal::checkUniquenessAndType(), edm::hlt::Exception, g, edm::Principal::getExistingGroup(), edm::errors::InsertFailure, edm::ConstBranchDescription::produced(), and edm::Group::putProduct().
Referenced by edm::Event::commit_aux().
void edm::EventPrincipal::putOnRead | ( | ConstBranchDescription const & | bd, |
std::auto_ptr< EDProduct > | edp, | ||
std::auto_ptr< ProductProvenance > | productProvenance | ||
) |
Definition at line 114 of file EventPrincipal.cc.
References edm::ConstBranchDescription::branchID(), edm::Principal::branchMapperPtr(), edm::Principal::checkUniquenessAndType(), g, edm::Principal::getExistingGroup(), edm::ConstBranchDescription::produced(), and edm::Group::putProduct().
Referenced by edm::StreamerInputSource::deserializeEvent().
|
privatevirtual |
Reimplemented from edm::Principal.
Definition at line 129 of file EventPrincipal.cc.
References edm::Group::branchDescription(), edm::Principal::checkUniquenessAndType(), edm::getProduct(), edm::ConstBranchDescription::moduleLabel(), edm::Group::onDemand(), edm::ConstBranchDescription::produced(), edm::Group::product(), edm::Group::productUnavailable(), edm::Group::putProduct(), edm::Principal::store(), and unscheduledFill().
|
inline |
Definition at line 98 of file EventPrincipal.h.
References id(), and edm::EventID::run().
Referenced by Types.LuminosityBlockID::cppID(), edm::InputSource::readEvent(), and edm::PoolSource::readEvent_().
RunPrincipal const & edm::EventPrincipal::runPrincipal | ( | ) | const |
Definition at line 84 of file EventPrincipal.cc.
References luminosityBlockPrincipal(), and edm::LuminosityBlockPrincipal::runPrincipal().
RunPrincipal & edm::EventPrincipal::runPrincipal | ( | ) |
Definition at line 89 of file EventPrincipal.cc.
References luminosityBlockPrincipal(), and edm::LuminosityBlockPrincipal::runPrincipal().
void edm::EventPrincipal::setUnscheduledHandler | ( | boost::shared_ptr< UnscheduledHandler > | iHandler | ) |
Definition at line 220 of file EventPrincipal.cc.
References unscheduledHandler_.
Referenced by edm::Schedule::setupOnDemandSystem().
|
inline |
Definition at line 86 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::storeNumber().
|
inline |
Definition at line 70 of file EventPrincipal.h.
References aux(), and edm::EventAuxiliary::time().
Referenced by edm::OccurrenceTraits< EventPrincipal, BranchActionBegin >::preScheduleSignal(), edm::EventProcessor::readAndProcessEvent(), edm::InputSource::readEvent(), and edm::AsciiOutputModule::write().
|
privatevirtual |
Implements edm::Principal.
Definition at line 240 of file EventPrincipal.cc.
References edm::hlt::Exception, edm::find_in_all(), i, edm::errors::LogicError, moduleLabelsRunning_, and unscheduledHandler_.
Referenced by resolveProduct_().
boost::shared_ptr< UnscheduledHandler > edm::EventPrincipal::unscheduledHandler | ( | ) | const |
Definition at line 225 of file EventPrincipal.cc.
References unscheduledHandler_.
Referenced by edm::WorkerT< T >::implDoBegin().
|
private |
Definition at line 147 of file EventPrincipal.h.
Referenced by aux(), clearEventPrincipal(), and fillEventPrincipal().
|
private |
Definition at line 158 of file EventPrincipal.h.
Referenced by branchListIndexes(), clearEventPrincipal(), fillEventPrincipal(), and pidToBid().
|
private |
Definition at line 160 of file EventPrincipal.h.
Referenced by branchIDToProductID(), clearEventPrincipal(), and fillEventPrincipal().
|
private |
Definition at line 156 of file EventPrincipal.h.
Referenced by clearEventPrincipal(), eventSelectionIDs(), and fillEventPrincipal().
|
static |
Definition at line 42 of file EventPrincipal.h.
|
static |
Definition at line 43 of file EventPrincipal.h.
|
private |
Definition at line 149 of file EventPrincipal.h.
Referenced by clearEventPrincipal(), fillEventPrincipal(), and luminosityBlockPrincipal().
|
mutableprivate |
Definition at line 154 of file EventPrincipal.h.
Referenced by clearEventPrincipal(), and unscheduledFill().
|
private |
Definition at line 152 of file EventPrincipal.h.
Referenced by clearEventPrincipal(), setUnscheduledHandler(), unscheduledFill(), and unscheduledHandler().