CMS 3D CMS Logo

HistoryAppender.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_HistoryAppender_h
2 #define FWCore_Framework_HistoryAppender_h
3 
6 
7 #include <memory>
8 
9 namespace edm {
10 
11  class ProcessConfiguration;
12  class ProcessHistoryRegistry;
13 
15  public:
17 
18  // Used to append the current process to the process history
19  // when necessary. Optimized to cache the results so it
20  // does not need to repeat the same calculations many times.
21  std::shared_ptr<ProcessHistory const> appendToProcessHistory(ProcessHistoryID const& inputPHID,
22  ProcessHistory const* inputProcessHistory,
23  ProcessConfiguration const& pc);
24 
25  private:
26  HistoryAppender(HistoryAppender const&) = delete;
27  HistoryAppender& operator=(HistoryAppender const&) = delete;
28 
29  // Throws if the new process name is already in the process
30  // process history
31  void checkProcessHistory(ProcessHistory const& ph, ProcessConfiguration const& pc) const;
32 
34  std::shared_ptr<ProcessHistory const> m_cachedHistory;
35  };
36 } // namespace edm
37 #endif
std::shared_ptr< ProcessHistory const > appendToProcessHistory(ProcessHistoryID const &inputPHID, ProcessHistory const *inputProcessHistory, ProcessConfiguration const &pc)
ProcessHistoryID m_cachedInputPHID
HistoryAppender & operator=(HistoryAppender const &)=delete
void checkProcessHistory(ProcessHistory const &ph, ProcessConfiguration const &pc) const
HLT enums.
std::shared_ptr< ProcessHistory const > m_cachedHistory