DataFormats
HLTReco
interface
ModuleTiming.h
Go to the documentation of this file.
1
#ifndef Edm_Module_Timing_h
2
#define Edm_Module_Timing_h
3
4
#include <vector>
5
#include <string>
6
7
/* Original version: July 2006, Christos Leonidopoulos */
8
9
namespace
edm
{
10
11
// structure holding the processing time (per event) and name of a module
12
class
ModuleTime
{
13
public
:
14
ModuleTime
() :
name_
(
""
),
time_
(-1) {}
15
ModuleTime
(
std::string
Name
,
double
Time
) :
name_
(
Name
),
time_
(
Time
) {}
16
~ModuleTime
() {}
17
18
std::string
name
()
const
{
return
name_
; }
// module name ("label")
19
double
time
()
const
{
return
time_
; }
// processing time for event (secs)
20
private
:
21
std::string
name_
;
22
double
time_
;
23
};
24
25
// structure holding processing info for all modules in event (+total time)
26
class
EventTime
{
27
private
:
28
std::vector<ModuleTime>
moduleSet
;
29
double
tot_time_
;
// total time in event for all modules (in secs)
30
31
public
:
32
EventTime
() {
reset
(); }
33
~EventTime
() {}
34
35
// # of modules contained in event
36
unsigned
size
()
const
{
return
moduleSet
.size(); }
37
// get hold of ModuleTime structure for module #i, where 0 <= i < size()
38
const
ModuleTime
&
moduleTime
(
unsigned
i
) {
return
moduleSet
.at(
i
); }
39
// get total processing time for event (secs)
40
double
tot_time
()
const
{
return
tot_time_
; }
41
// get name for module #i, where 0 <= i < size()
42
std::string
name
(
unsigned
i
)
const
{
return
moduleSet
.at(
i
).name(); }
43
// get processing time for module #i (secs), where 0 <= i < size()
44
double
time
(
unsigned
i
)
const
{
return
moduleSet
.at(
i
).time(); }
45
// add module structure to event
46
void
addModuleTime
(
const
ModuleTime
&
m
) {
47
moduleSet
.push_back(
m
);
48
tot_time_
+=
m
.time();
49
}
50
51
// reset all info (ie. from previous event)
52
void
reset
() {
53
moduleSet
.clear();
54
tot_time_
= 0;
55
}
56
};
57
58
}
// namespace edm
59
60
#endif // #define Edm_Module_Timing_h
edm::EventTime::size
unsigned size() const
Definition:
ModuleTiming.h:36
mps_fire.i
i
Definition:
mps_fire.py:428
edm::EventTime::tot_time_
double tot_time_
Definition:
ModuleTiming.h:29
SiStripClientConfig_Tier0_cff.Name
Name
Definition:
SiStripClientConfig_Tier0_cff.py:12
edm
HLT enums.
Definition:
AlignableModifier.h:19
edm::ModuleTime::time
double time() const
Definition:
ModuleTiming.h:19
edm::ModuleTime::name
std::string name() const
Definition:
ModuleTiming.h:18
edm::EventTime::moduleSet
std::vector< ModuleTime > moduleSet
Definition:
ModuleTiming.h:28
edm::EventTime::~EventTime
~EventTime()
Definition:
ModuleTiming.h:33
edm::EventTime::reset
void reset()
Definition:
ModuleTiming.h:52
visualization-live-secondInstance_cfg.m
m
Definition:
visualization-live-secondInstance_cfg.py:78
edm::EventTime::time
double time(unsigned i) const
Definition:
ModuleTiming.h:44
edm::EventTime::tot_time
double tot_time() const
Definition:
ModuleTiming.h:40
edm::ModuleTime::~ModuleTime
~ModuleTime()
Definition:
ModuleTiming.h:16
edm::EventTime::moduleTime
const ModuleTime & moduleTime(unsigned i)
Definition:
ModuleTiming.h:38
edm::EventTime
Definition:
ModuleTiming.h:26
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ModuleTime::time_
double time_
Definition:
ModuleTiming.h:22
edm::EventTime::EventTime
EventTime()
Definition:
ModuleTiming.h:32
edm::EventTime::addModuleTime
void addModuleTime(const ModuleTime &m)
Definition:
ModuleTiming.h:46
edm::ModuleTime::ModuleTime
ModuleTime(std::string Name, double Time)
Definition:
ModuleTiming.h:15
edm::ModuleTime
Definition:
ModuleTiming.h:12
RecoSummaryTask_cfi.Time
Time
Definition:
RecoSummaryTask_cfi.py:34
edm::EventTime::name
std::string name(unsigned i) const
Definition:
ModuleTiming.h:42
edm::ModuleTime::ModuleTime
ModuleTime()
Definition:
ModuleTiming.h:14
edm::ModuleTime::name_
std::string name_
Definition:
ModuleTiming.h:21
Generated for CMSSW Reference Manual by
1.8.16