ATLAS Offline Software
JetTrigTimer.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGHLTJETHYPO_JETTRIGTIMER_H
6 #define TRIGHLTJETHYPO_JETTRIGTIMER_H
7 
8 #include <chrono>
9 #include <vector>
10 #include <string>
11 #include <tuple>
12 
14  public:
15  JetTrigTimer(bool nanoseconds=false);
16 
17  void start();
18  void update();
19  std::string read() const;
20  std::tuple<double, int, std::string> read_bare() const;
21  void reset() noexcept;
22  std::string readAndReset();
23  double elapsed_to_now();
24  double elapsed_to_update();
25  std::string units() const;
26 
27  private:
28  std::size_t m_nCalls{0};
29  std::chrono::system_clock::time_point m_start;
30  std::chrono::system_clock::time_point m_stop;
31 
32  double m_elapsedDelta{0.};
34  void accumulate();
35 
36 };
37 #endif
38 
JetTrigTimer::JetTrigTimer
JetTrigTimer(bool nanoseconds=false)
Definition: JetTrigTimer.cxx:13
JetTrigTimer::elapsed_to_update
double elapsed_to_update()
Definition: JetTrigTimer.cxx:80
JetTrigTimer::read_bare
std::tuple< double, int, std::string > read_bare() const
Definition: JetTrigTimer.cxx:60
JetTrigTimer::readAndReset
std::string readAndReset()
Definition: JetTrigTimer.cxx:66
JetTrigTimer::m_nCalls
std::size_t m_nCalls
Definition: JetTrigTimer.h:28
JetTrigTimer::read
std::string read() const
Definition: JetTrigTimer.cxx:45
JetTrigTimer::m_stop
std::chrono::system_clock::time_point m_stop
Definition: JetTrigTimer.h:30
JetTrigTimer::m_start
std::chrono::system_clock::time_point m_start
Definition: JetTrigTimer.h:29
JetTrigTimer::units
std::string units() const
Definition: JetTrigTimer.cxx:86
JetTrigTimer::update
void update()
Definition: JetTrigTimer.cxx:22
JetTrigTimer::elapsed_to_now
double elapsed_to_now()
Definition: JetTrigTimer.cxx:74
JetTrigTimer::m_elapsedDelta
double m_elapsedDelta
Definition: JetTrigTimer.h:32
JetTrigTimer
Definition: JetTrigTimer.h:13
JetTrigTimer::reset
void reset() noexcept
Definition: JetTrigTimer.cxx:35
JetTrigTimer::accumulate
void accumulate()
JetTrigTimer::m_nanoseconds
bool m_nanoseconds
Definition: JetTrigTimer.h:33
JetTrigTimer::start
void start()
Definition: JetTrigTimer.cxx:15