1 #ifndef FWCore_Framework_EventPrincipal_h
2 #define FWCore_Framework_EventPrincipal_h
25 #include "boost/shared_ptr.hpp"
33 class BranchIDListHelper;
34 class ProductProvenanceRetriever;
37 class HistoryAppender;
38 class LuminosityBlockPrincipal;
39 class ModuleCallingContext;
41 class ProcessHistoryRegistry;
54 boost::shared_ptr<ProductRegistry const> reg,
55 boost::shared_ptr<BranchIDListHelper const> branchIDListHelper,
58 unsigned int streamIndex = 0);
void setLuminosityBlockPrincipal(boost::shared_ptr< LuminosityBlockPrincipal > const &lbp)
bool isSameEvent(EventAuxiliary const &a, EventAuxiliary const &b)
EventSelectionIDVector const & eventSelectionIDs() const
boost::shared_ptr< LuminosityBlockPrincipal > luminosityBlockPrincipal_
int bunchCrossing() const
ProductHolderBase const * ConstProductHolderPtr
EventAuxiliary::ExperimentType ExperimentType() const
BasicHandle getByProductID(ProductID const &oid) const
EventSelectionIDVector eventSelectionIDs_
BranchID pidToBid(ProductID const &pid) const
static int const invalidBunchXing
BranchListIndexes branchListIndexes_
EventID const & id() const
Provenance getProvenance(ProductID const &pid, ModuleCallingContext const *mcc) const
Timestamp const & time() const
std::map< BranchListIndex, ProcessIndex > branchListIndexToProcessIndex_
Provenance getProvenance(BranchID const &bid, ModuleCallingContext const *mcc) const
void mergeProvenanceRetrievers(EventPrincipal const &other)
LuminosityBlockNumber_t luminosityBlock() const
virtual void readFromSource_(ProductHolderBase const &phb, ModuleCallingContext const *mcc) const override
LuminosityBlockPrincipal & luminosityBlockPrincipal()
LuminosityBlockNumber_t luminosityBlock() const
BranchListIndexes const & branchListIndexes() const
unsigned int LuminosityBlockNumber_t
int bunchCrossing() const
WrapperHolder getIt(ProductID const &pid) const
ProductID branchIDToProductID(BranchID const &bid) const
RunPrincipal const & runPrincipal() const
std::vector< EventSelectionID > EventSelectionIDVector
virtual bool unscheduledFill(std::string const &moduleLabel, ModuleCallingContext const *mcc) const override
ExperimentType experimentType() const
Timestamp const & time() const
std::vector< std::string > * moduleLabelsRunning_
EventPrincipal(boost::shared_ptr< ProductRegistry const > reg, boost::shared_ptr< BranchIDListHelper const > branchIDListHelper, ProcessConfiguration const &pc, HistoryAppender *historyAppender, unsigned int streamIndex=0)
std::vector< BranchListIndex > BranchListIndexes
static int const invalidBunchXing
boost::shared_ptr< UnscheduledHandler > unscheduledHandler() const
LuminosityBlockPrincipal const & luminosityBlockPrincipal() const
UnscheduledSentry(std::vector< std::string > *moduleLabelsRunning, std::string const &moduleLabel)
StreamID streamID() const
boost::shared_ptr< UnscheduledHandler > unscheduledHandler_
DelayedReader * reader() const
static int const invalidStoreNumber
virtual unsigned int transitionIndex_() const override
boost::shared_ptr< ProductProvenanceRetriever > productProvenanceRetrieverPtr() const
void clearEventPrincipal()
boost::shared_ptr< BranchIDListHelper const > branchIDListHelper_
EventID const & id() const
void fillEventPrincipal(EventAuxiliary const &aux, ProcessHistoryRegistry const &processHistoryRegistry, DelayedReader *reader=0)
static int const invalidStoreNumber
Base::ConstProductHolderPtr ConstProductHolderPtr
void setUnscheduledHandler(boost::shared_ptr< UnscheduledHandler > iHandler)
void putOnRead(BranchDescription const &bd, void const *product, ProductProvenance const &productProvenance)
boost::shared_ptr< ProductProvenanceRetriever > provRetrieverPtr_
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> preModuleDelayedGetSignal_
void setRunAndLumiNumber(RunNumber_t run, LuminosityBlockNumber_t lumi)
bool luminosityBlockPrincipalPtrValid()
EventAuxiliary const & aux() const
std::vector< std::string > moduleLabelsRunning_
void put(BranchDescription const &bd, WrapperOwningHolder const &edp, ProductProvenance const &productProvenance)
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> postModuleDelayedGetSignal_