CMS 3D CMS Logo

ESModuleCallingContext.h
Go to the documentation of this file.
1 #ifndef FWCore_ServiceRegistry_ESModuleCallingContext_h
2 #define FWCore_ServiceRegistry_ESModuleCallingContext_h
3 
13 //
14 // Original Author: W. David Dagenhart
15 // Created: 7/11/2013
16 
18 
19 #include <iosfwd>
20 
21 namespace edm {
22 
23  namespace eventsetup {
24  struct ComponentDescription;
25  }
26  class ModuleCallingContext;
28  public:
30 
31  enum class State {
32  kPrefetching, // prefetching products before starting to run
33  kRunning, // module actually running
34  kInvalid
35  };
36 
38 
40  State state,
41  ESParentContext const& parent);
42 
44 
46 
48  State state() const { return state_; }
49  Type type() const { return parent_.type(); }
50  ESParentContext const& parent() const { return parent_; }
53 
54  // This function will iterate up a series of linked context objects to
55  // find the highest level ModuleCallingContext.
57 
58  // Returns the number of ESModuleCallingContexts above this ESModuleCallingContext
59  // in the series of linked context objects.
60  unsigned depth() const;
61 
62  private:
66  };
67 } // namespace edm
68 #endif
edm::ESModuleCallingContext
Definition: ESModuleCallingContext.h:27
edm::ESModuleCallingContext::esmoduleCallingContext
ESModuleCallingContext const * esmoduleCallingContext() const
Definition: ESModuleCallingContext.h:52
edm::ESModuleCallingContext::type
Type type() const
Definition: ESModuleCallingContext.h:49
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::ESParentContext::type
Type type() const noexcept
Definition: ESParentContext.h:29
edm::ESModuleCallingContext::ESModuleCallingContext
ESModuleCallingContext(edm::eventsetup::ComponentDescription const *moduleDescription)
Definition: ESModuleCallingContext.cc:10
edm::ESModuleCallingContext::getTopModuleCallingContext
ModuleCallingContext const * getTopModuleCallingContext() const
Definition: ESModuleCallingContext.cc:23
edm::ESModuleCallingContext::State::kPrefetching
edm::ESModuleCallingContext::parent
ESParentContext const & parent() const
Definition: ESModuleCallingContext.h:50
edm::ESModuleCallingContext::state
State state() const
Definition: ESModuleCallingContext.h:48
edm::ESParentContext::moduleCallingContext
ModuleCallingContext const * moduleCallingContext() const
Definition: ESParentContext.cc:21
edm::eventsetup::ComponentDescription
Definition: ComponentDescription.h:30
edm::ESModuleCallingContext::state_
State state_
Definition: ESModuleCallingContext.h:65
ESParentContext.h
edm::ESModuleCallingContext::componentDescription_
edm::eventsetup::ComponentDescription const * componentDescription_
Definition: ESModuleCallingContext.h:63
State
State
Definition: RPixErrorChecker.h:15
edm::ESModuleCallingContext::State
State
Definition: ESModuleCallingContext.h:31
edm::ESParentContext
Definition: ESParentContext.h:21
edm::ESModuleCallingContext::setContext
void setContext(State state, ESParentContext const &parent)
Definition: ESModuleCallingContext.cc:18
edm::ESModuleCallingContext::setState
void setState(State state)
Definition: ESModuleCallingContext.h:45
edm::ESModuleCallingContext::State::kInvalid
edm::ESModuleCallingContext::depth
unsigned depth() const
Definition: ESModuleCallingContext.cc:31
edm::ESParentContext::Type
Type
Definition: ESParentContext.h:23
edm::ESModuleCallingContext::componentDescription
edm::eventsetup::ComponentDescription const * componentDescription() const
Definition: ESModuleCallingContext.h:47
edm::ESModuleCallingContext::State::kRunning
edm::ESModuleCallingContext::moduleCallingContext
ModuleCallingContext const * moduleCallingContext() const
Definition: ESModuleCallingContext.h:51
edm::ESModuleCallingContext::parent_
ESParentContext parent_
Definition: ESModuleCallingContext.h:64
edm::ESParentContext::esmoduleCallingContext
ESModuleCallingContext const * esmoduleCallingContext() const
Definition: ESParentContext.cc:29
edm::ModuleCallingContext
Definition: ModuleCallingContext.h:29