Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DataFormats_Provenance_SubProcessParentageHelper_h
0002 #define DataFormats_Provenance_SubProcessParentageHelper_h
0003 
0004 // This class is used to properly fill Parentage in SubProcesses.
0005 // In particular it helps filling the BranchChildren container
0006 // that is used when dropping descendants of products that
0007 // have been dropped on input.
0008 //
0009 // This class is only filled for SubProcesses. Its data member
0010 // only has entries for products produced in a prior SubProcess
0011 // or the top level Process in the same overall process.
0012 
0013 #include "DataFormats/Provenance/interface/BranchID.h"
0014 
0015 #include <vector>
0016 
0017 namespace edm {
0018 
0019   class ProductRegistry;
0020 
0021   class SubProcessParentageHelper {
0022   public:
0023     void update(SubProcessParentageHelper const& parentSubProcessParentageHelper,
0024                 ProductRegistry const& parentProductRegistry);
0025 
0026     std::vector<BranchID> const& producedProducts() const { return producedProducts_; }
0027 
0028   private:
0029     std::vector<BranchID> producedProducts_;
0030   };
0031 }  // namespace edm
0032 #endif