CMS 3D CMS Logo

TimingServiceBase.h
Go to the documentation of this file.
1 #ifndef FWCore_Utilities_TimingServiceBase_h
2 #define FWCore_Utilities_TimingServiceBase_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Utilities
6 // Class : TimingServiceBase
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Wed, 11 Jun 2014 14:50:33 GMT
19 //
20 
21 // system include files
22 #include <chrono>
23 
24 // user include files
26 
27 // forward declarations
28 namespace edm {
30  public:
32  TimingServiceBase(const TimingServiceBase&) = delete; // stop default
33  const TimingServiceBase& operator=(const TimingServiceBase&) = delete; // stop default
34  virtual ~TimingServiceBase();
35 
36  // ---------- member functions ---------------------------
40  virtual void addToCPUTime(double iTime) = 0;
41 
44  virtual double getTotalCPU() const = 0;
45 
46  static void jobStarted();
47 
48  static std::chrono::steady_clock::time_point jobStartTime() { return s_jobStartTime; }
49 
50  private:
51  static std::chrono::steady_clock::time_point s_jobStartTime;
52  };
53 } // namespace edm
54 
55 #endif
virtual void addToCPUTime(double iTime)=0
static std::chrono::steady_clock::time_point s_jobStartTime
const TimingServiceBase & operator=(const TimingServiceBase &)=delete
virtual double getTotalCPU() const =0
HLT enums.
static std::chrono::steady_clock::time_point jobStartTime()