Go to the documentation of this file. 1 #ifndef FWCore_Framework_EventPrincipal_h
2 #define FWCore_Framework_EventPrincipal_h
35 class BranchIDListHelper;
36 class ProductProvenanceRetriever;
39 class HistoryAppender;
40 class LuminosityBlockPrincipal;
41 class ModuleCallingContext;
44 class ThinnedAssociation;
45 class ThinnedAssociationsHelper;
57 std::shared_ptr<BranchIDListHelper const> branchIDListHelper,
58 std::shared_ptr<ThinnedAssociationsHelper const> thinnedAssociationsHelper,
61 unsigned int streamIndex = 0,
62 bool isForPrimaryProcess =
true,
81 bool deepCopyRetriever =
true);
132 std::unique_ptr<WrapperBase> edp,
138 std::unique_ptr<WrapperBase> edp,
139 std::optional<ProductProvenance> productProvenance)
const;
143 unsigned int key)
const override;
145 std::vector<WrapperBase const*>& foundContainers,
146 std::vector<unsigned int>&
keys)
const override;
149 ProductID const& thinned)
const override;
EventAuxiliary::ExperimentType ExperimentType() const
std::shared_ptr< BranchIDListHelper const > branchIDListHelper_
edm::propagate_const< LuminosityBlockPrincipal * > luminosityBlockPrincipal_
EventAuxiliary const & aux() const
unsigned int ProductResolverIndex
LuminosityBlockPrincipal const & luminosityBlockPrincipal() const
std::shared_ptr< ProductProvenanceRetriever const > provRetrieverPtr() const
static const int invalidStoreNumber
WrapperBase const * getIt(ProductID const &pid) const override
void mergeProvenanceRetrievers(EventPrincipal &other)
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper_
ProductResolverBase const * ConstProductResolverPtr
std::optional< std::tuple< WrapperBase const *, unsigned int > > getThinnedProduct(ProductID const &pid, unsigned int key) const override
std::vector< BranchListIndex > BranchListIndexes
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 isForPrimaryProcess=true, ProcessBlockHelperBase const *processBlockHelper=nullptr)
constexpr std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
std::shared_ptr< ProductProvenanceRetriever > & provRetrieverPtr()
ProcessHistory const & processHistory() const
LuminosityBlockNumber_t luminosityBlock() const
unsigned int LuminosityBlockNumber_t
EventID const & id() const
ProcessBlockHelperBase const * processBlockHelper_
int bunchCrossing() const
void setRunAndLumiNumber(RunNumber_t run, LuminosityBlockNumber_t lumi)
ProductProvenanceRetriever const * productProvenanceRetrieverPtr() const
BranchListIndexes const & branchListIndexes() const
EventToProcessBlockIndexes eventToProcessBlockIndexes_
Timestamp const & time() const
edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > provRetrieverPtr_
void changedIndexes_() final
Base::ConstProductResolverPtr ConstProductResolverPtr
edm::ThinnedAssociation const * getThinnedAssociation(edm::BranchID const &branchID) const
Provenance const & getProvenance(BranchID const &bid) const
DelayedReader * reader() const
EventID const & id() const
void put(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
ExperimentType experimentType() const
OptionalThinnedKey getThinnedKeyFrom(ProductID const &parent, unsigned int key, ProductID const &thinned) const override
LuminosityBlockNumber_t luminosityBlock() const
Provenance const & getProvenance(ProductID const &pid) const
std::vector< ProcessIndex > branchListIndexToProcessIndex_
static const int invalidBunchXing
void setLuminosityBlockPrincipal(LuminosityBlockPrincipal *lbp)
void commonFillEventPrincipal(EventAuxiliary const &aux, ProcessHistory const *processHistory, DelayedReader *reader)
void putOnRead(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp, std::optional< ProductProvenance > productProvenance) const
EventSelectionIDVector const & eventSelectionIDs() const
StableProvenance const & getStableProvenance(BranchID const &bid) const
Timestamp const & time() const
StreamID streamID() const
void updateBranchListIndexes(BranchListIndexes &&)
int bunchCrossing() const
EventSelectionIDVector eventSelectionIDs_
BasicHandle getByProductID(ProductID const &oid) const
void fillEventPrincipal(EventAuxiliary const &aux, ProcessHistory const *processHistory, DelayedReader *reader=nullptr)
std::variant< unsigned int, detail::GetThinnedKeyFromExceptionFactory, std::monostate > OptionalThinnedKey
void getThinnedProducts(ProductID const &pid, std::vector< WrapperBase const * > &foundContainers, std::vector< unsigned int > &keys) const override
StableProvenance const & getStableProvenance(ProductID const &pid) const
LuminosityBlockPrincipal & luminosityBlockPrincipal()
void clearEventPrincipal()
ProductID branchIDToProductID(BranchID const &bid) const
unsigned int processBlockIndex(std::string const &processName) const override
bool isSameEvent(EventAuxiliary const &a, EventAuxiliary const &b)
static const int invalidBunchXing
static const int invalidStoreNumber
bool luminosityBlockPrincipalPtrValid() const
unsigned int transitionIndex_() const override
~EventPrincipal() override
BranchID pidToBid(ProductID const &pid) const
std::vector< EventSelectionID > EventSelectionIDVector
RunPrincipal const & runPrincipal() const
EventToProcessBlockIndexes const & eventToProcessBlockIndexes() const
BranchListIndexes branchListIndexes_
bool wasBranchListIndexesChangedFromInput(BranchListIndexes const &) const