Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef FWCore_Framework_MergeableRunProductProcesses_h
0002 #define FWCore_Framework_MergeableRunProductProcesses_h
0003 
0004 #include <string>
0005 #include <vector>
0006 
0007 namespace edm {
0008 
0009   class ProductRegistry;
0010 
0011   class MergeableRunProductProcesses {
0012   public:
0013     MergeableRunProductProcesses();
0014 
0015     std::vector<std::string> const& processesWithMergeableRunProducts() const {
0016       return processesWithMergeableRunProducts_;
0017     }
0018 
0019     std::string const& getProcessName(unsigned int index) const { return processesWithMergeableRunProducts_[index]; }
0020 
0021     std::vector<std::string>::size_type size() const { return processesWithMergeableRunProducts_.size(); }
0022 
0023     // Called once in a job right after the ProductRegistry is frozen.
0024     // After that the names stored in this class are never modified.
0025     void setProcessesWithMergeableRunProducts(ProductRegistry const& productRegistry);
0026 
0027   private:
0028     // Holds the process names for processes that created mergeable
0029     // run products that are in the input of the current job.
0030     // Note this does not include the current process.
0031     std::vector<std::string> processesWithMergeableRunProducts_;
0032   };
0033 }  // namespace edm
0034 #endif