CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
 
- Public Types inherited from edm::Principal
typedef std::vector< BasicHandleBasicHandleVec
 
typedef unsigned long CacheIdentifier_t
 
typedef boost::filter_iterator
< FilledProductPtr,
ProductHolderCollection::const_iterator > 
const_iterator
 
typedef ProductHolderBase const * ConstProductHolderPtr
 
typedef boost::filter_iterator
< FilledProductPtr,
ProductHolderCollection::iterator > 
iterator
 
typedef std::string ProcessName
 
typedef
ProcessHistory::const_iterator 
ProcessNameConstIterator
 
typedef std::vector
< propagate_const
< std::shared_ptr
< ProductHolderBase > > > 
ProductHolderCollection
 
typedef std::shared_ptr
< ProductHolderBase
SharedProductPtr
 
typedef
ProductHolderCollection::size_type 
size_type
 

Public Member Functions

LuminosityBlockAuxiliary const & aux () const
 
Timestamp const & beginTime () const
 
Timestamp const & endTime () const
 
void fillLuminosityBlockPrincipal (ProcessHistoryRegistry const &processHistoryRegistry, DelayedReader *reader=0)
 
LuminosityBlockID id () const
 
LuminosityBlockIndex index () const
 
LuminosityBlockNumber_t luminosityBlock () const
 
 LuminosityBlockPrincipal (std::shared_ptr< LuminosityBlockAuxiliary > aux, std::shared_ptr< ProductRegistry const > reg, ProcessConfiguration const &pc, HistoryAppender *historyAppender, unsigned int index)
 
void mergeAuxiliary (LuminosityBlockAuxiliary const &aux)
 
void put (BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const
 
RunNumber_t run () const
 
RunPrincipal const & runPrincipal () const
 
RunPrincipalrunPrincipal ()
 
void setComplete ()
 
void setEndTime (Timestamp const &time)
 
void setRunPrincipal (std::shared_ptr< RunPrincipal > rp)
 
void setUnscheduledHandler (std::shared_ptr< UnscheduledHandler >)
 
 ~LuminosityBlockPrincipal ()
 
- Public Member Functions inherited from edm::Principal
void addAliasedProduct (std::shared_ptr< BranchDescription const > bd)
 
void addInputProduct (std::shared_ptr< BranchDescription const > bd)
 
void addScheduledProduct (std::shared_ptr< BranchDescription const > bd)
 
void addSourceProduct (std::shared_ptr< BranchDescription const > bd)
 
void addUnscheduledProduct (std::shared_ptr< BranchDescription const > bd)
 
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 (ProcessHistoryID const &hist, ProcessHistoryRegistry const &phr, DelayedReader *reader)
 
ProductData const * findProductByTag (TypeID const &typeID, InputTag const &tag, ModuleCallingContext const *mcc) const
 
void getAllProvenance (std::vector< Provenance 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, ProductHolderIndex index, bool skipCurrentProcess, bool &ambiguous, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
OutputHandle getForOutput (BranchID const &bid, bool getProd, ModuleCallingContext const *mcc) const
 
void getManyByType (TypeID const &typeID, BasicHandleVec &results, EDConsumerBase const *consumes, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
ProductHolderBasegetModifiableProductHolder (BranchID const &oid)
 
ConstProductHolderPtr getProductHolder (BranchID const &oid) const
 
ConstProductHolderPtr getProductHolderByIndex (ProductHolderIndex const &oid) const
 
Provenance getProvenance (BranchID const &bid, ModuleCallingContext const *mcc) const
 
bool isComplete () const
 
std::vector< unsigned int > const & lookupProcessOrder () const
 
void prefetch (ProductHolderIndex index, bool skipCurrentProcess, ModuleCallingContext const *mcc) const
 
 Principal (std::shared_ptr< ProductRegistry const > reg, std::shared_ptr< ProductHolderIndexHelper const > productLookup, ProcessConfiguration const &pc, BranchType bt, HistoryAppender *historyAppender)
 
ProcessConfiguration const & processConfiguration () const
 
ProcessHistory const & processHistory () const
 
ProcessHistoryID const & processHistoryID () const
 
EDProductGetter const * prodGetter () const
 
ProductHolderIndexHelper const & productLookup () const
 
ProductRegistry const & productRegistry () const
 
void readAllFromSourceAndMergeImmediately ()
 
DelayedReaderreader () const
 
void readFromSource (ProductHolderBase const &phb, ModuleCallingContext const *mcc) const
 
void recombine (Principal &other, std::vector< BranchID > const &bids)
 
size_t size () const
 
virtual ~Principal ()
 
- 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

virtual bool isComplete_ () const override
 
virtual unsigned int transitionIndex_ () const override
 
virtual bool unscheduledFill (std::string const &, SharedResourcesAcquirer *sra, ModuleCallingContext const *) const override
 

Private Attributes

edm::propagate_const
< std::shared_ptr
< LuminosityBlockAuxiliary > > 
aux_
 
bool complete_
 
LuminosityBlockIndex index_
 
edm::propagate_const
< std::shared_ptr
< RunPrincipal > > 
runPrincipal_
 

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< ProductHolderBase > phb)
 
void addProductOrThrow (std::unique_ptr< ProductHolderBase > phb)
 
void checkUniquenessAndType (WrapperBase const *prod, ProductHolderBase const *productHolder) const
 
ProductHolderBasegetExistingProduct (BranchID const &branchID)
 
ProductHolderBase const * getExistingProduct (BranchID const &branchID) const
 
ProductHolderBase const * getExistingProduct (ProductHolderBase const &phb) const
 
void putOrMerge (BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const
 

Detailed Description

Definition at line 34 of file LuminosityBlockPrincipal.h.

Member Typedef Documentation

Definition at line 36 of file LuminosityBlockPrincipal.h.

Definition at line 37 of file LuminosityBlockPrincipal.h.

Constructor & Destructor Documentation

edm::LuminosityBlockPrincipal::LuminosityBlockPrincipal ( std::shared_ptr< LuminosityBlockAuxiliary aux,
std::shared_ptr< ProductRegistry const >  reg,
ProcessConfiguration const &  pc,
HistoryAppender historyAppender,
unsigned int  index 
)

Definition at line 11 of file LuminosityBlockPrincipal.cc.

16  :
17  Base(reg, reg->productLookup(InLumi), pc, InLumi, historyAppender),
18  runPrincipal_(),
19  aux_(aux),
20  index_(index),
21  complete_(false) {
22  }
LuminosityBlockAuxiliary const & aux() const
LuminosityBlockIndex index() const
edm::propagate_const< std::shared_ptr< LuminosityBlockAuxiliary > > aux_
edm::propagate_const< std::shared_ptr< RunPrincipal > > runPrincipal_
edm::LuminosityBlockPrincipal::~LuminosityBlockPrincipal ( )
inline

Definition at line 45 of file LuminosityBlockPrincipal.h.

45 {}

Member Function Documentation

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

Definition at line 85 of file LuminosityBlockPrincipal.h.

References aux_.

Referenced by edm::SubProcess::beginLuminosityBlock(), beginTime(), endTime(), id(), luminosityBlock(), edm::PoolSource::readLuminosityBlock_(), run(), and edm::RootOutputFile::writeLuminosityBlock().

85  {
86  return *aux_;
87  }
edm::propagate_const< std::shared_ptr< LuminosityBlockAuxiliary > > aux_
Timestamp const& edm::LuminosityBlockPrincipal::beginTime ( ) const
inline
Timestamp const& edm::LuminosityBlockPrincipal::endTime ( ) const
inline
void edm::LuminosityBlockPrincipal::fillLuminosityBlockPrincipal ( ProcessHistoryRegistry const &  processHistoryRegistry,
DelayedReader reader = 0 
)

Definition at line 25 of file LuminosityBlockPrincipal.cc.

References aux_, complete_, edm::Principal::fillPrincipal(), edm::Principal::processHistory(), parseEventContent::prod, and edm::Principal::reader().

Referenced by dqmservices::DQMProtobufReader::readLuminosityBlock_(), LHESource::readLuminosityBlock_(), edm::RootFile::readLuminosityBlock_(), DQMRootSource::readLuminosityBlock_(), and edm::InputSource::readLuminosityBlock_().

27  {
28 
29  complete_ = false;
30 
31  fillPrincipal(aux_->processHistoryID(), processHistoryRegistry, reader);
32 
33  for(auto& prod : *this) {
34  prod->setProcessHistory(processHistory());
35  }
36  }
ProcessHistory const & processHistory() const
Definition: Principal.h:144
edm::propagate_const< std::shared_ptr< LuminosityBlockAuxiliary > > aux_
DelayedReader * reader() const
Definition: Principal.h:185
void fillPrincipal(ProcessHistoryID const &hist, ProcessHistoryRegistry const &phr, DelayedReader *reader)
Definition: Principal.cc:344
LuminosityBlockID edm::LuminosityBlockPrincipal::id ( void  ) const
inline
LuminosityBlockIndex edm::LuminosityBlockPrincipal::index ( ) const
inline
virtual bool edm::LuminosityBlockPrincipal::isComplete_ ( ) const
inlineoverrideprivatevirtual

Reimplemented from edm::Principal.

Definition at line 110 of file LuminosityBlockPrincipal.h.

References complete_.

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

Definition at line 93 of file LuminosityBlockPrincipal.h.

References aux_.

93  {
94  return aux_->mergeAuxiliary(aux);
95  }
LuminosityBlockAuxiliary const & aux() const
edm::propagate_const< std::shared_ptr< LuminosityBlockAuxiliary > > aux_
void edm::LuminosityBlockPrincipal::put ( BranchDescription const &  bd,
std::unique_ptr< WrapperBase edp 
) const

Definition at line 39 of file LuminosityBlockPrincipal.cc.

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

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

41  {
42  putOrMerge(bd,std::move(edp));
43  }
void putOrMerge(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const
Definition: Principal.cc:869
def move
Definition: eostools.py:510
RunNumber_t edm::LuminosityBlockPrincipal::run ( void  ) const
inline
RunPrincipal const& edm::LuminosityBlockPrincipal::runPrincipal ( ) const
inline
RunPrincipal& edm::LuminosityBlockPrincipal::runPrincipal ( )
inline

Definition at line 53 of file LuminosityBlockPrincipal.h.

References runPrincipal_.

53  {
54  return *runPrincipal_;
55  }
edm::propagate_const< std::shared_ptr< RunPrincipal > > runPrincipal_
void edm::LuminosityBlockPrincipal::setComplete ( )
inline

Definition at line 104 of file LuminosityBlockPrincipal.h.

References complete_.

Referenced by edm::InputSource::doEndLumi().

104  {
105  complete_ = true;
106  }
void edm::LuminosityBlockPrincipal::setEndTime ( Timestamp const &  time)
inline

Definition at line 77 of file LuminosityBlockPrincipal.h.

References aux_.

Referenced by edm::InputSource::doEndLumi().

77  {
78  aux_->setEndTime(time);
79  }
edm::propagate_const< std::shared_ptr< LuminosityBlockAuxiliary > > aux_
void edm::LuminosityBlockPrincipal::setRunPrincipal ( std::shared_ptr< RunPrincipal rp)
inline

Definition at line 57 of file LuminosityBlockPrincipal.h.

References runPrincipal_.

57  {
58  runPrincipal_ = rp;
59  }
edm::propagate_const< std::shared_ptr< RunPrincipal > > runPrincipal_
void edm::LuminosityBlockPrincipal::setUnscheduledHandler ( std::shared_ptr< UnscheduledHandler )
inline

Definition at line 97 of file LuminosityBlockPrincipal.h.

97 {}
unsigned int edm::LuminosityBlockPrincipal::transitionIndex_ ( ) const
overrideprivatevirtual

Implements edm::EDProductGetter.

Definition at line 46 of file LuminosityBlockPrincipal.cc.

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

46  {
47  return index().value();
48  }
LuminosityBlockIndex index() const
unsigned int value() const
virtual bool edm::LuminosityBlockPrincipal::unscheduledFill ( std::string const &  ,
SharedResourcesAcquirer sra,
ModuleCallingContext const *   
) const
inlineoverrideprivatevirtual

Implements edm::Principal.

Definition at line 112 of file LuminosityBlockPrincipal.h.

114  {return false;}

Member Data Documentation

edm::propagate_const<std::shared_ptr<LuminosityBlockAuxiliary> > edm::LuminosityBlockPrincipal::aux_
private
bool edm::LuminosityBlockPrincipal::complete_
private
LuminosityBlockIndex edm::LuminosityBlockPrincipal::index_
private

Definition at line 122 of file LuminosityBlockPrincipal.h.

Referenced by index().

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

Definition at line 118 of file LuminosityBlockPrincipal.h.

Referenced by runPrincipal(), and setRunPrincipal().