Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:55

0001 #ifndef FWCore_Common_SubProcessBlockHelper_h
0002 #define FWCore_Common_SubProcessBlockHelper_h
0003 
0004 /** \class edm::SubProcessBlockHelper
0005 
0006 \author W. David Dagenhart, created 4 January, 2021
0007 
0008 */
0009 
0010 #include "DataFormats/Provenance/interface/ProvenanceFwd.h"
0011 #include "FWCore/Common/interface/ProcessBlockHelperBase.h"
0012 
0013 #include <vector>
0014 
0015 namespace edm {
0016 
0017   class SubProcessBlockHelper : public ProcessBlockHelperBase {
0018   public:
0019     ProcessBlockHelperBase const* topProcessBlockHelper() const final;
0020     std::vector<std::string> const& topProcessesWithProcessBlockProducts() const final;
0021     unsigned int nProcessesInFirstFile() const final;
0022     std::vector<std::vector<unsigned int>> const& processBlockCacheIndices() const final;
0023     std::vector<std::vector<unsigned int>> const& nEntries() const final;
0024     std::vector<unsigned int> const& cacheIndexVectorsPerFile() const final;
0025     std::vector<unsigned int> const& cacheEntriesPerFile() const final;
0026     unsigned int processBlockIndex(std::string const& processName, EventToProcessBlockIndexes const&) const final;
0027     unsigned int outerOffset() const final;
0028 
0029     void updateFromParentProcess(ProcessBlockHelperBase const& parentProcessBlockHelper, ProductRegistry const&);
0030 
0031   private:
0032     ProcessBlockHelperBase const* topProcessBlockHelper_ = nullptr;
0033   };
0034 }  // namespace edm
0035 #endif