File indexing completed on 2023-03-17 11:01:49
0001 #ifndef FWCore_Common_SubProcessBlockHelper_h
0002 #define FWCore_Common_SubProcessBlockHelper_h
0003
0004
0005
0006
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 }
0035 #endif