CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::LuminosityBlockPrincipal Class Reference

#include <LuminosityBlockPrincipal.h>

Inheritance diagram for edm::LuminosityBlockPrincipal:
edm::Principal edm::EDProductGetter

Public Types

typedef LuminosityBlockAuxiliary Auxiliary
 
typedef Principal Base
 
enum  ShouldWriteLumi { kUninitialized, kNo, kYes }
 
- Public Types inherited from edm::Principal
typedef std::vector< BasicHandleBasicHandleVec
 
typedef unsigned long CacheIdentifier_t
 
typedef boost::filter_iterator< FilledProductPtr, ProductResolverCollection::const_iterator > const_iterator
 
typedef ProductResolverBase const * ConstProductResolverPtr
 
typedef boost::filter_iterator< FilledProductPtr, ProductResolverCollection::iterator > iterator
 
typedef std::string ProcessName
 
typedef ProcessHistory::const_iterator ProcessNameConstIterator
 
typedef std::vector< propagate_const< std::shared_ptr< ProductResolverBase > > > ProductResolverCollection
 
typedef std::shared_ptr< ProductResolverBaseSharedProductPtr
 
typedef ProductResolverCollection::size_type size_type
 

Public Member Functions

LuminosityBlockAuxiliary const & aux () const
 
Timestamp const & beginTime () const
 
Timestamp const & endTime () const
 
void fillLuminosityBlockPrincipal (ProcessHistory const *processHistory, DelayedReader *reader=nullptr)
 
LuminosityBlockID id () const
 
LuminosityBlockIndex index () const
 
LuminosityBlockNumber_t luminosityBlock () const
 
 LuminosityBlockPrincipal (std::shared_ptr< ProductRegistry const > reg, ProcessConfiguration const &pc, HistoryAppender *historyAppender, unsigned int index, bool isForPrimaryProcess=true)
 
void mergeAuxiliary (LuminosityBlockAuxiliary const &aux)
 
void put (BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const
 
void put (ProductResolverIndex index, std::unique_ptr< WrapperBase > edp) const
 
RunNumber_t run () const
 
RunPrincipal const & runPrincipal () const
 
RunPrincipalrunPrincipal ()
 
void setAux (LuminosityBlockAuxiliary iAux)
 
void setEndTime (Timestamp const &time)
 
void setRunPrincipal (std::shared_ptr< RunPrincipal > rp)
 
void setShouldWriteLumi (ShouldWriteLumi value)
 
ShouldWriteLumi shouldWriteLumi () const
 
 ~LuminosityBlockPrincipal () override
 
- Public Member Functions inherited from edm::Principal
void adjustIndexesAfterProductRegistryAddition ()
 
bool adjustToNewProductRegistry (ProductRegistry const &reg)
 
const_iterator begin () const
 
iterator begin ()
 
BranchType const & branchType () const
 
CacheIdentifier_t cacheIdentifier () const
 
void clearPrincipal ()
 
void deleteProduct (BranchID const &id) const
 
const_iterator end () const
 
iterator end ()
 
void fillPrincipal (DelayedReader *reader)
 
void fillPrincipal (ProcessHistoryID const &hist, ProcessHistory const *phr, DelayedReader *reader)
 
void fillPrincipal (std::string const &processNameOfBlock, DelayedReader *reader)
 
ProductData const * findProductByTag (TypeID const &typeID, InputTag const &tag, ModuleCallingContext const *mcc) const
 
void getAllProvenance (std::vector< Provenance const *> &provenances) const
 
void getAllStableProvenance (std::vector< StableProvenance const *> &provenances) const
 
BasicHandle getByLabel (KindOfType kindOfType, TypeID const &typeID, InputTag const &inputTag, EDConsumerBase const *consumes, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
BasicHandle getByLabel (KindOfType kindOfType, TypeID const &typeID, std::string const &label, std::string const &instance, std::string const &process, EDConsumerBase const *consumes, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
BasicHandle getByToken (KindOfType kindOfType, TypeID const &typeID, ProductResolverIndex index, bool skipCurrentProcess, bool &ambiguous, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
ProductResolverBasegetModifiableProductResolver (BranchID const &oid)
 
ConstProductResolverPtr getProductResolver (BranchID const &oid) const
 
ConstProductResolverPtr getProductResolverByIndex (ProductResolverIndex const &oid) const
 
Provenance const & getProvenance (BranchID const &bid) const
 
StableProvenance const & getStableProvenance (BranchID const &bid) const
 
std::vector< unsigned int > const & lookupProcessOrder () const
 
void prefetchAsync (WaitingTaskHolder waitTask, ProductResolverIndex index, bool skipCurrentProcess, ServiceToken const &token, ModuleCallingContext const *mcc) const
 
 Principal (std::shared_ptr< ProductRegistry const > reg, std::shared_ptr< ProductResolverIndexHelper const > productLookup, ProcessConfiguration const &pc, BranchType bt, HistoryAppender *historyAppender, bool isForPrimaryProcess=true)
 
virtual unsigned int processBlockIndex (std::string const &processName) const
 
ProcessConfiguration const & processConfiguration () const
 
ProcessHistory const & processHistory () const
 
ProcessHistoryID const & processHistoryID () const
 
EDProductGetter const * prodGetter () const
 
ProductResolverIndexHelper const & productLookup () const
 
ProductRegistry const & productRegistry () const
 
void readAllFromSourceAndMergeImmediately (MergeableRunProductMetadata const *mergeableRunProductMetadata=nullptr)
 
DelayedReaderreader () const
 
void recombine (Principal &other, std::vector< BranchID > const &bids)
 
void setupUnscheduled (UnscheduledConfigurator const &)
 
size_t size () const
 
 ~Principal () override
 
- Public Member Functions inherited from edm::EDProductGetter
 EDProductGetter ()
 
 EDProductGetter (EDProductGetter const &)=delete
 
EDProductGetter const & operator= (EDProductGetter const &)=delete
 
unsigned int transitionIndex () const
 
virtual ~EDProductGetter ()
 

Private Member Functions

unsigned int transitionIndex_ () const override
 

Private Attributes

LuminosityBlockAuxiliary aux_
 
LuminosityBlockIndex index_
 
edm::propagate_const< std::shared_ptr< RunPrincipal > > runPrincipal_
 
ShouldWriteLumi shouldWriteLumi_ = kUninitialized
 

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 addProduct_ (std::unique_ptr< ProductResolverBase > phb)
 
void addProductOrThrow (std::unique_ptr< ProductResolverBase > phb)
 
template<typename F >
void applyToResolvers (F iFunc)
 
ProductResolverBasegetExistingProduct (BranchID const &branchID)
 
ProductResolverBase const * getExistingProduct (BranchID const &branchID) const
 
ProductResolverBase const * getExistingProduct (ProductResolverBase const &phb) const
 
void put_ (BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const
 

Detailed Description

Definition at line 31 of file LuminosityBlockPrincipal.h.

Member Typedef Documentation

◆ Auxiliary

Definition at line 33 of file LuminosityBlockPrincipal.h.

◆ Base

Definition at line 34 of file LuminosityBlockPrincipal.h.

Member Enumeration Documentation

◆ ShouldWriteLumi

Constructor & Destructor Documentation

◆ LuminosityBlockPrincipal()

edm::LuminosityBlockPrincipal::LuminosityBlockPrincipal ( std::shared_ptr< ProductRegistry const >  reg,
ProcessConfiguration const &  pc,
HistoryAppender historyAppender,
unsigned int  index,
bool  isForPrimaryProcess = true 
)

Definition at line 7 of file LuminosityBlockPrincipal.cc.

12  : Base(reg, reg->productLookup(InLumi), pc, InLumi, historyAppender, isForPrimaryProcess),
13  runPrincipal_(),
14  index_(index) {}
edm::propagate_const< std::shared_ptr< RunPrincipal > > runPrincipal_
LuminosityBlockIndex index() const

◆ ~LuminosityBlockPrincipal()

edm::LuminosityBlockPrincipal::~LuminosityBlockPrincipal ( )
inlineoverride

Definition at line 42 of file LuminosityBlockPrincipal.h.

42 {}

Member Function Documentation

◆ aux()

LuminosityBlockAuxiliary const& edm::LuminosityBlockPrincipal::aux ( ) const
inline

◆ beginTime()

Timestamp const& edm::LuminosityBlockPrincipal::beginTime ( ) const
inline

◆ endTime()

Timestamp const& edm::LuminosityBlockPrincipal::endTime ( ) const
inline

◆ fillLuminosityBlockPrincipal()

void edm::LuminosityBlockPrincipal::fillLuminosityBlockPrincipal ( ProcessHistory const *  processHistory,
DelayedReader reader = nullptr 
)

◆ id()

LuminosityBlockID edm::LuminosityBlockPrincipal::id ( void  ) const
inline

◆ index()

LuminosityBlockIndex edm::LuminosityBlockPrincipal::index ( ) const
inline

Definition at line 52 of file LuminosityBlockPrincipal.h.

References index_.

Referenced by edm::SubProcess::clearLumiPrincipal(), edm::EDLooperBase::doBeginLuminosityBlock(), edm::stream::EDAnalyzerAdaptor< T >::doBeginLuminosityBlock(), edm::stream::ProducingModuleAdaptor< T, M, B >::doBeginLuminosityBlock(), edm::SubProcess::doBeginLuminosityBlockAsync(), edm::EDLooperBase::doDuringLoop(), edm::EDLooperBase::doEndLuminosityBlock(), edm::stream::EDAnalyzerAdaptor< T >::doEndLuminosityBlock(), edm::stream::ProducingModuleAdaptor< T, M, B >::doEndLuminosityBlock(), edm::SubProcess::doEndLuminosityBlockAsync(), edm::stream::EDAnalyzerAdaptorBase::doStreamBeginLuminosityBlock(), edm::stream::ProducingModuleAdaptorBase< EDProducerBase >::doStreamBeginLuminosityBlock(), edm::SubProcess::doStreamBeginLuminosityBlockAsync(), edm::SubProcess::doStreamEndLuminosityBlockAsync(), edm::LuminosityBlockForOutput::index(), edm::LuminosityBlock::index(), edm::OccurrenceTraits< LuminosityBlockPrincipal, BranchActionGlobalBegin >::makeGlobalContext(), edm::OccurrenceTraits< LuminosityBlockPrincipal, BranchActionGlobalEnd >::makeGlobalContext(), edm::SubProcess::processAsync(), put(), edm::InputSource::readAndMergeLumi(), edm::InputSource::readLuminosityBlock(), edm::PoolSource::readLuminosityBlock_(), edm::OccurrenceTraits< LuminosityBlockPrincipal, BranchActionStreamBegin >::setStreamContext(), edm::OccurrenceTraits< LuminosityBlockPrincipal, BranchActionStreamEnd >::setStreamContext(), transitionIndex_(), edm::OutputModuleCommunicatorT< T >::writeLumiAsync(), edm::SubProcess::writeLumiAsync(), and edm::Schedule::writeLumiAsync().

52 { return index_; }

◆ luminosityBlock()

LuminosityBlockNumber_t edm::LuminosityBlockPrincipal::luminosityBlock ( ) const
inline

◆ mergeAuxiliary()

void edm::LuminosityBlockPrincipal::mergeAuxiliary ( LuminosityBlockAuxiliary const &  aux)
inline

Definition at line 69 of file LuminosityBlockPrincipal.h.

References aux(), aux_, and edm::LuminosityBlockAuxiliary::mergeAuxiliary().

69 { return aux_.mergeAuxiliary(aux); }
void mergeAuxiliary(LuminosityBlockAuxiliary const &newAux)
LuminosityBlockAuxiliary const & aux() const

◆ put() [1/2]

void edm::LuminosityBlockPrincipal::put ( BranchDescription const &  bd,
std::unique_ptr< WrapperBase edp 
) const

Definition at line 21 of file LuminosityBlockPrincipal.cc.

References eostools::move(), and edm::Principal::put_().

Referenced by edm::LuminosityBlock::commit_().

21  {
22  put_(bd, std::move(edp));
23  }
void put_(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const
Definition: Principal.cc:861
def move(src, dest)
Definition: eostools.py:511

◆ put() [2/2]

void edm::LuminosityBlockPrincipal::put ( ProductResolverIndex  index,
std::unique_ptr< WrapperBase edp 
) const

Definition at line 25 of file LuminosityBlockPrincipal.cc.

References runTheMatrix::const, edm::Principal::getProductResolverByIndex(), index(), and eostools::move().

25  {
26  auto phb = getProductResolverByIndex(index);
27  dynamic_cast<ProductPutterBase const*>(phb)->putProduct(std::move(edp));
28  }
LuminosityBlockIndex index() const
ConstProductResolverPtr getProductResolverByIndex(ProductResolverIndex const &oid) const
Definition: Principal.cc:563
def move(src, dest)
Definition: eostools.py:511

◆ run()

RunNumber_t edm::LuminosityBlockPrincipal::run ( ) const
inline

◆ runPrincipal() [1/2]

RunPrincipal const& edm::LuminosityBlockPrincipal::runPrincipal ( ) const
inline

◆ runPrincipal() [2/2]

RunPrincipal& edm::LuminosityBlockPrincipal::runPrincipal ( )
inline

Definition at line 48 of file LuminosityBlockPrincipal.h.

References runPrincipal_.

48 { return *runPrincipal_; }
edm::propagate_const< std::shared_ptr< RunPrincipal > > runPrincipal_

◆ setAux()

void edm::LuminosityBlockPrincipal::setAux ( LuminosityBlockAuxiliary  iAux)
inline

Definition at line 64 of file LuminosityBlockPrincipal.h.

References aux_, and eostools::move().

64 { aux_ = std::move(iAux); }
def move(src, dest)
Definition: eostools.py:511

◆ setEndTime()

void edm::LuminosityBlockPrincipal::setEndTime ( Timestamp const &  time)
inline

◆ setRunPrincipal()

void edm::LuminosityBlockPrincipal::setRunPrincipal ( std::shared_ptr< RunPrincipal rp)
inline

Definition at line 50 of file LuminosityBlockPrincipal.h.

References runPrincipal_.

50 { runPrincipal_ = rp; }
edm::propagate_const< std::shared_ptr< RunPrincipal > > runPrincipal_

◆ setShouldWriteLumi()

void edm::LuminosityBlockPrincipal::setShouldWriteLumi ( ShouldWriteLumi  value)
inline

◆ shouldWriteLumi()

ShouldWriteLumi edm::LuminosityBlockPrincipal::shouldWriteLumi ( ) const
inline

◆ transitionIndex_()

unsigned int edm::LuminosityBlockPrincipal::transitionIndex_ ( ) const
overrideprivatevirtual

Implements edm::EDProductGetter.

Definition at line 30 of file LuminosityBlockPrincipal.cc.

References index(), and edm::LuminosityBlockIndex::value().

30 { return index().value(); }
unsigned int value() const
LuminosityBlockIndex index() const

Member Data Documentation

◆ aux_

LuminosityBlockAuxiliary edm::LuminosityBlockPrincipal::aux_
private

◆ index_

LuminosityBlockIndex edm::LuminosityBlockPrincipal::index_
private

Definition at line 86 of file LuminosityBlockPrincipal.h.

Referenced by index().

◆ runPrincipal_

edm::propagate_const<std::shared_ptr<RunPrincipal> > edm::LuminosityBlockPrincipal::runPrincipal_
private

Definition at line 82 of file LuminosityBlockPrincipal.h.

Referenced by runPrincipal(), and setRunPrincipal().

◆ shouldWriteLumi_

ShouldWriteLumi edm::LuminosityBlockPrincipal::shouldWriteLumi_ = kUninitialized
private

Definition at line 88 of file LuminosityBlockPrincipal.h.

Referenced by setShouldWriteLumi(), and shouldWriteLumi().