1 #ifndef FWCore_Framework_EventPrincipal_h
2 #define FWCore_Framework_EventPrincipal_h
32 class BranchIDListHelper;
33 class ProductProvenanceRetriever;
36 class HistoryAppender;
37 class LuminosityBlockPrincipal;
38 class ModuleCallingContext;
41 class ThinnedAssociation;
42 class ThinnedAssociationsHelper;
43 class ProcessHistoryRegistry;
56 std::shared_ptr<ProductRegistry const> reg,
57 std::shared_ptr<BranchIDListHelper const> branchIDListHelper,
58 std::shared_ptr<ThinnedAssociationsHelper const> thinnedAssociationsHelper,
61 unsigned int streamIndex = 0);
155 std::unique_ptr<WrapperBase> edp,
160 std::unique_ptr<WrapperBase> edp,
166 std::vector<WrapperBase const*>& foundContainers,
167 std::vector<unsigned int>&
keys)
const override;
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper_
bool isSameEvent(EventAuxiliary const &a, EventAuxiliary const &b)
void setLuminosityBlockPrincipal(std::shared_ptr< LuminosityBlockPrincipal > const &lbp)
EventSelectionIDVector const & eventSelectionIDs() const
int bunchCrossing() const
std::shared_ptr< ProductProvenanceRetriever > & provRetrieverPtr()
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_
edm::ThinnedAssociation const * getThinnedAssociation(edm::BranchID const &branchID) const
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
std::shared_ptr< BranchIDListHelper const > branchIDListHelper_
LuminosityBlockNumber_t luminosityBlock() const
virtual void readFromSource_(ProductHolderBase const &phb, ModuleCallingContext const *mcc) const override
LuminosityBlockPrincipal & luminosityBlockPrincipal()
edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > provRetrieverPtr_
LuminosityBlockNumber_t luminosityBlock() const
BranchListIndexes const & branchListIndexes() const
unsigned int LuminosityBlockNumber_t
int bunchCrossing() const
ProductID branchIDToProductID(BranchID const &bid) const
void putOnRead(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
RunPrincipal const & runPrincipal() const
std::vector< EventSelectionID > EventSelectionIDVector
virtual WrapperBase const * getThinnedProduct(ProductID const &pid, unsigned int &key) const override
ExperimentType experimentType() const
Timestamp const & time() const
void mergeProvenanceRetrievers(EventPrincipal &other)
void setUnscheduledHandler(std::shared_ptr< UnscheduledHandler > iHandler)
std::shared_ptr< const UnscheduledHandler > unscheduledHandler() const
std::vector< BranchListIndex > BranchListIndexes
static int const invalidBunchXing
LuminosityBlockPrincipal const & luminosityBlockPrincipal() const
StreamID streamID() const
virtual WrapperBase const * getIt(ProductID const &pid) const override
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
void put(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
ProductProvenanceRetriever const * productProvenanceRetrieverPtr() const
string key
FastSim: produces sample of signal events, overlayed with premixed minbias events.
DelayedReader * reader() const
static int const invalidStoreNumber
virtual unsigned int transitionIndex_() const override
void clearEventPrincipal()
edm::propagate_const< std::shared_ptr< LuminosityBlockPrincipal > > luminosityBlockPrincipal_
EventID const & id() const
void fillEventPrincipal(EventAuxiliary const &aux, ProcessHistoryRegistry const &processHistoryRegistry, DelayedReader *reader=0)
static int const invalidStoreNumber
Base::ConstProductHolderPtr ConstProductHolderPtr
EventPrincipal(std::shared_ptr< ProductRegistry const > reg, std::shared_ptr< BranchIDListHelper const > branchIDListHelper, std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper, ProcessConfiguration const &pc, HistoryAppender *historyAppender, unsigned int streamIndex=0)
bool luminosityBlockPrincipalPtrValid() const
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> preModuleDelayedGetSignal_
void setRunAndLumiNumber(RunNumber_t run, LuminosityBlockNumber_t lumi)
EventAuxiliary const & aux() const
std::shared_ptr< ProductProvenanceRetriever const > provRetrieverPtr() const
virtual void getThinnedProducts(ProductID const &pid, std::vector< WrapperBase const * > &foundContainers, std::vector< unsigned int > &keys) const override
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> postModuleDelayedGetSignal_
std::shared_ptr< UnscheduledHandler const > unscheduledHandler_
virtual bool unscheduledFill(std::string const &moduleLabel, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override