ATLAS Offline Software
Loading...
Searching...
No Matches
GlobalSim::BasicDataCollector Class Reference

#include <BasicDataCollector.h>

Inheritance diagram for GlobalSim::BasicDataCollector:
Collaboration diagram for GlobalSim::BasicDataCollector:

Public Member Functions

 BasicDataCollector ()
virtual ~BasicDataCollector ()=default
virtual void collect (const IAlgTool &, const std::string &msg)
virtual std::string to_string () const

Private Attributes

std::vector< std::pair< std::string, std::vector< std::string > > > m_msgs {}
std::chrono::high_resolution_clock::time_point m_t0

Detailed Description

Definition at line 15 of file BasicDataCollector.h.

Constructor & Destructor Documentation

◆ BasicDataCollector()

GlobalSim::BasicDataCollector::BasicDataCollector ( )

Definition at line 14 of file BasicDataCollector.cxx.

14 :
15 m_t0{high_resolution_clock::now()}{
16 }
std::chrono::high_resolution_clock::time_point m_t0

◆ ~BasicDataCollector()

virtual GlobalSim::BasicDataCollector::~BasicDataCollector ( )
virtualdefault

Member Function Documentation

◆ collect()

void GlobalSim::BasicDataCollector::collect ( const IAlgTool & tool,
const std::string & msg )
virtual

Implements GlobalSim::IDataCollector.

Definition at line 18 of file BasicDataCollector.cxx.

19 {
20 const auto& label = tool.name();
21 auto iter =
22 std::find_if(m_msgs.begin(),
23 m_msgs.end(),
24 [&label](const std::pair<std::string,
25 std::vector<std::string>>& p){
26 return label == p.first;
27 });
28 auto d = high_resolution_clock::now() - m_t0;
29
30 auto ss = std::stringstream();
31 ss << duration_cast<microseconds>(d).count() << " (us): " << msg;
32
33 if (iter == m_msgs.cend()){
34 m_msgs.push_back(std::pair(label, std::vector<std::string>{ss.str()}));
35 } else {
36 (iter->second).push_back(ss.str());
37 }
38 }
static Double_t ss
std::vector< std::pair< std::string, std::vector< std::string > > > m_msgs
std::string label(const std::string &format, int i)
Definition label.h:19
m_data push_back(elt)
MsgStream & msg
Definition testRead.cxx:32

◆ to_string()

std::string GlobalSim::BasicDataCollector::to_string ( ) const
virtual

Implements GlobalSim::IDataCollector.

Definition at line 41 of file BasicDataCollector.cxx.

41 {
42 auto result = std::string();
43 for (const auto& p : m_msgs){
44 result += p.first + '\n';;
45 for (const auto& m : p.second){
46 result += " " + m + '\n';
47 }
48 }
49 return result;
50 }

Member Data Documentation

◆ m_msgs

std::vector<std::pair<std::string, std::vector<std::string> > > GlobalSim::BasicDataCollector::m_msgs {}
private

Definition at line 23 of file BasicDataCollector.h.

23{};

◆ m_t0

std::chrono::high_resolution_clock::time_point GlobalSim::BasicDataCollector::m_t0
private

Definition at line 24 of file BasicDataCollector.h.


The documentation for this class was generated from the following files: