CMS 3D CMS Logo

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

#include <SubProcessBlockHelper.h>

Inheritance diagram for edm::SubProcessBlockHelper:
edm::ProcessBlockHelperBase

Public Member Functions

std::vector< unsigned int > const & cacheEntriesPerFile () const final
 
std::vector< unsigned int > const & cacheIndexVectorsPerFile () const final
 
std::vector< std::vector< unsigned int > > const & nEntries () const final
 
unsigned int nProcessesInFirstFile () const final
 
unsigned int outerOffset () const final
 
std::vector< std::vector< unsigned int > > const & processBlockCacheIndices () const final
 
unsigned int processBlockIndex (std::string const &processName, EventToProcessBlockIndexes const &) const final
 
ProcessBlockHelperBase const * topProcessBlockHelper () const final
 
std::vector< std::string > const & topProcessesWithProcessBlockProducts () const final
 
void updateFromParentProcess (ProcessBlockHelperBase const &parentProcessBlockHelper, ProductRegistry const &)
 
- Public Member Functions inherited from edm::ProcessBlockHelperBase
std::vector< std::string > const & addedProcesses () const
 
void emplaceBackAddedProcessName (std::string const &processName)
 
void emplaceBackProcessName (std::string const &processName)
 
std::vector< std::string > const & processesWithProcessBlockProducts () const
 
std::string selectProcess (ProductRegistry const &, ProductLabels const &, TypeID const &) const
 
void setAddedProcesses (std::vector< std::string > const &val)
 
void setProcessesWithProcessBlockProducts (std::vector< std::string > const &val)
 
void updateForNewProcess (ProductRegistry const &, std::string const &processName)
 
virtual ~ProcessBlockHelperBase ()
 

Private Attributes

ProcessBlockHelperBase const * topProcessBlockHelper_ = nullptr
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::ProcessBlockHelperBase
static constexpr unsigned int invalidCacheIndex ()
 
static constexpr unsigned int invalidProcessIndex ()
 

Detailed Description

Author
W. David Dagenhart, created 4 January, 2021

Definition at line 17 of file SubProcessBlockHelper.h.

Member Function Documentation

◆ cacheEntriesPerFile()

std::vector< unsigned int > const & edm::SubProcessBlockHelper::cacheEntriesPerFile ( ) const
finalvirtual

Implements edm::ProcessBlockHelperBase.

Definition at line 34 of file SubProcessBlockHelper.cc.

References edm::ProcessBlockHelperBase::cacheEntriesPerFile(), and topProcessBlockHelper_.

34  {
36  }
virtual std::vector< unsigned int > const & cacheEntriesPerFile() const =0
ProcessBlockHelperBase const * topProcessBlockHelper_

◆ cacheIndexVectorsPerFile()

std::vector< unsigned int > const & edm::SubProcessBlockHelper::cacheIndexVectorsPerFile ( ) const
finalvirtual

Implements edm::ProcessBlockHelperBase.

Definition at line 30 of file SubProcessBlockHelper.cc.

References edm::ProcessBlockHelperBase::cacheIndexVectorsPerFile(), and topProcessBlockHelper_.

30  {
32  }
virtual std::vector< unsigned int > const & cacheIndexVectorsPerFile() const =0
ProcessBlockHelperBase const * topProcessBlockHelper_

◆ nEntries()

std::vector< std::vector< unsigned int > > const & edm::SubProcessBlockHelper::nEntries ( ) const
finalvirtual

Implements edm::ProcessBlockHelperBase.

Definition at line 26 of file SubProcessBlockHelper.cc.

References edm::ProcessBlockHelperBase::nEntries(), and topProcessBlockHelper_.

26  {
28  }
virtual std::vector< std::vector< unsigned int > > const & nEntries() const =0
ProcessBlockHelperBase const * topProcessBlockHelper_

◆ nProcessesInFirstFile()

unsigned int edm::SubProcessBlockHelper::nProcessesInFirstFile ( ) const
finalvirtual

Implements edm::ProcessBlockHelperBase.

Definition at line 18 of file SubProcessBlockHelper.cc.

References edm::ProcessBlockHelperBase::nProcessesInFirstFile(), and topProcessBlockHelper_.

18  {
20  }
virtual unsigned int nProcessesInFirstFile() const =0
ProcessBlockHelperBase const * topProcessBlockHelper_

◆ outerOffset()

unsigned int edm::SubProcessBlockHelper::outerOffset ( ) const
finalvirtual

Implements edm::ProcessBlockHelperBase.

Definition at line 43 of file SubProcessBlockHelper.cc.

References edm::ProcessBlockHelperBase::outerOffset(), and topProcessBlockHelper_.

virtual unsigned int outerOffset() const =0
ProcessBlockHelperBase const * topProcessBlockHelper_

◆ processBlockCacheIndices()

std::vector< std::vector< unsigned int > > const & edm::SubProcessBlockHelper::processBlockCacheIndices ( ) const
finalvirtual

Implements edm::ProcessBlockHelperBase.

Definition at line 22 of file SubProcessBlockHelper.cc.

References edm::ProcessBlockHelperBase::processBlockCacheIndices(), and topProcessBlockHelper_.

22  {
24  }
virtual std::vector< std::vector< unsigned int > > const & processBlockCacheIndices() const =0
ProcessBlockHelperBase const * topProcessBlockHelper_

◆ processBlockIndex()

unsigned int edm::SubProcessBlockHelper::processBlockIndex ( std::string const &  processName,
EventToProcessBlockIndexes const &  eventToProcessBlockIndexes 
) const
finalvirtual

Implements edm::ProcessBlockHelperBase.

Definition at line 38 of file SubProcessBlockHelper.cc.

References edm::ProcessBlockHelperBase::processBlockIndex(), SimL1EmulatorRepack_CalouGT_cff::processName, and topProcessBlockHelper_.

39  {
40  return topProcessBlockHelper_->processBlockIndex(processName, eventToProcessBlockIndexes);
41  }
virtual unsigned int processBlockIndex(std::string const &processName, EventToProcessBlockIndexes const &) const =0
ProcessBlockHelperBase const * topProcessBlockHelper_

◆ topProcessBlockHelper()

ProcessBlockHelperBase const * edm::SubProcessBlockHelper::topProcessBlockHelper ( ) const
finalvirtual

Implements edm::ProcessBlockHelperBase.

Definition at line 12 of file SubProcessBlockHelper.cc.

References topProcessBlockHelper_.

12 { return topProcessBlockHelper_; }
ProcessBlockHelperBase const * topProcessBlockHelper_

◆ topProcessesWithProcessBlockProducts()

std::vector< std::string > const & edm::SubProcessBlockHelper::topProcessesWithProcessBlockProducts ( ) const
finalvirtual

Implements edm::ProcessBlockHelperBase.

Definition at line 14 of file SubProcessBlockHelper.cc.

References edm::ProcessBlockHelperBase::processesWithProcessBlockProducts(), and topProcessBlockHelper_.

14  {
16  }
std::vector< std::string > const & processesWithProcessBlockProducts() const
ProcessBlockHelperBase const * topProcessBlockHelper_

◆ updateFromParentProcess()

void edm::SubProcessBlockHelper::updateFromParentProcess ( ProcessBlockHelperBase const &  parentProcessBlockHelper,
ProductRegistry const &  productRegistry 
)

Definition at line 45 of file SubProcessBlockHelper.cc.

References edm::ProcessBlockHelperBase::addedProcesses(), cms::cuda::assert(), submitPVResolutionJobs::desc, edm::ProcessBlockHelperBase::emplaceBackAddedProcessName(), edm::ProcessBlockHelperBase::emplaceBackProcessName(), relativeConstraints::empty, edm::InProcess, B2GTnPMonitor_cfi::item, edm::ProcessBlockHelperBase::processesWithProcessBlockProducts(), SimL1EmulatorRepack_CalouGT_cff::processName, edm::ProductRegistry::productList(), edm::ProcessBlockHelperBase::topProcessBlockHelper(), and topProcessBlockHelper_.

Referenced by edm::ScheduleItems::ScheduleItems().

46  {
47  topProcessBlockHelper_ = parentProcessBlockHelper.topProcessBlockHelper();
48 
49  // If a SubProcess keeps any ProcessBlock products from its parent process, then insert their
50  // process names.
52  for (auto const& processName : parentProcessBlockHelper.processesWithProcessBlockProducts()) {
53  for (auto const& item : productRegistry.productList()) {
54  BranchDescription const& desc = item.second;
55  if (desc.branchType() == InProcess && desc.present() && desc.processName() == processName) {
57  break;
58  }
59  }
60  }
61 
62  // Repeat for addedProcesses
64  for (auto const& processName : parentProcessBlockHelper.addedProcesses()) {
65  for (auto const& item : productRegistry.productList()) {
66  BranchDescription const& desc = item.second;
67  if (desc.branchType() == InProcess && desc.present() && desc.processName() == processName) {
69  break;
70  }
71  }
72  }
73  }
virtual ProcessBlockHelperBase const * topProcessBlockHelper() const =0
assert(be >=bs)
std::vector< std::string > const & addedProcesses() const
void emplaceBackAddedProcessName(std::string const &processName)
std::vector< std::string > const & processesWithProcessBlockProducts() const
void emplaceBackProcessName(std::string const &processName)
ProcessBlockHelperBase const * topProcessBlockHelper_

Member Data Documentation

◆ topProcessBlockHelper_

ProcessBlockHelperBase const* edm::SubProcessBlockHelper::topProcessBlockHelper_ = nullptr
private