ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigTools
TrigTimeAlgs
TrigTimeAlgs
TrigTimeStamp.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 TrigTimeAlgs_TrigTimeStamp_h
6
#define TrigTimeAlgs_TrigTimeStamp_h
7
8
#include <chrono>
9
#include "
AthenaKernel/CLASS_DEF.h
"
23
class
TrigTimeStamp
{
24
public
:
25
typedef
std::chrono::high_resolution_clock::time_point
stamp_type
;
26
30
TrigTimeStamp
();
31
35
TrigTimeStamp
&
operator=
(
const
TrigTimeStamp
&) =
default
;
36
40
TrigTimeStamp
(
const
TrigTimeStamp
&) =
default
;
41
45
double
millisecondsSince
()
const
;
46
51
double
millisecondsDifference
(
const
TrigTimeStamp
& other)
const
;
52
56
uint64_t
microsecondsSinceEpoch
()
const
;
57
61
stamp_type
get
()
const
;
62
67
void
set
(
stamp_type
time = std::chrono::high_resolution_clock::now());
68
69
private
:
70
stamp_type
m_stamp
;
71
72
};
73
74
CLASS_DEF
(
TrigTimeStamp
, 262409323 , 1 )
75
76
inline
TrigTimeStamp
::
TrigTimeStamp
() {
set
(); }
77
78
inline
TrigTimeStamp::stamp_type
TrigTimeStamp::get
()
const
{
return
m_stamp
; }
79
80
inline
void
TrigTimeStamp::set
(
TrigTimeStamp::stamp_type
time) {
m_stamp
= time; }
81
82
#endif
// TrigTimeAlgs_TrigTimeStamp_h
CLASS_DEF.h
macros to associate a CLID to a type
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
TrigTimeStamp
utility class to measure time duration in AthenaMT The pattern when it is useful: AlgA tags the begin...
Definition
TrigTimeStamp.h:23
TrigTimeStamp::get
stamp_type get() const
Obtain the stamp value.
Definition
TrigTimeStamp.h:78
TrigTimeStamp::millisecondsSince
double millisecondsSince() const
Definition
TrigTimeStamp.cxx:7
TrigTimeStamp::TrigTimeStamp
TrigTimeStamp()
Default constructor, sets to now.
Definition
TrigTimeStamp.h:76
TrigTimeStamp::millisecondsDifference
double millisecondsDifference(const TrigTimeStamp &other) const
Definition
TrigTimeStamp.cxx:11
TrigTimeStamp::stamp_type
std::chrono::high_resolution_clock::time_point stamp_type
Definition
TrigTimeStamp.h:25
TrigTimeStamp::TrigTimeStamp
TrigTimeStamp(const TrigTimeStamp &)=default
Automatic copy constructor.
TrigTimeStamp::microsecondsSinceEpoch
uint64_t microsecondsSinceEpoch() const
Definition
TrigTimeStamp.cxx:15
TrigTimeStamp::operator=
TrigTimeStamp & operator=(const TrigTimeStamp &)=default
Automatic copy assignemnt operator.
TrigTimeStamp::m_stamp
stamp_type m_stamp
Definition
TrigTimeStamp.h:70
TrigTimeStamp::set
void set(stamp_type time=std::chrono::high_resolution_clock::now())
Update the stamp value.
Definition
TrigTimeStamp.h:80
Generated on
for ATLAS Offline Software by
1.17.0