CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ProcessBlockPrincipal.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_ProcessBlockPrincipal_h
2 #define FWCore_Framework_ProcessBlockPrincipal_h
3 
12 
13 #include <memory>
14 #include <string>
15 
16 namespace edm {
17 
18  class ProcessConfiguration;
19  class ProductRegistry;
20  class WrapperBase;
21 
23  public:
24  ProcessBlockPrincipal(std::shared_ptr<ProductRegistry const>,
25  ProcessConfiguration const&,
26  bool isForPrimaryProcess = true);
27 
29 
30  std::string const& processName() const { return processName_; }
31 
32  void put(ProductResolverIndex index, std::unique_ptr<WrapperBase> edp) const;
33 
34  // Should only be 1 ProcessBlock needed at a time (no concurrent ProcessBlocks)
35  unsigned int index() const { return 0; }
36 
37  private:
38  unsigned int transitionIndex_() const final;
39 
40  std::string processName_;
41  };
42 } // namespace edm
43 
44 #endif // FWCore_Framework_ProcessBlockPrincipal_h
unsigned int transitionIndex_() const final
unsigned int ProductResolverIndex
void put(ProductResolverIndex index, std::unique_ptr< WrapperBase > edp) const
void fillProcessBlockPrincipal(std::string const &processName, DelayedReader *reader=nullptr)
ProcessBlockPrincipal(std::shared_ptr< ProductRegistry const >, ProcessConfiguration const &, bool isForPrimaryProcess=true)
DelayedReader * reader() const
Definition: Principal.h:187
std::string const & processName() const