CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
FastTimerService::ResourcesPerJob Struct Reference

Public Member Functions

ResourcesPerJob operator+ (ResourcesPerJob const &other) const
 
ResourcesPerJoboperator+= (ResourcesPerJob const &other)
 
void reset ()
 
 ResourcesPerJob ()
 
 ResourcesPerJob (ProcessCallGraph const &job, std::vector< GroupOfModules > const &groups)
 

Public Attributes

unsigned events
 
std::vector< Resourceshighlight
 
std::vector< ResourcesPerModulemodules
 
std::vector< ResourcesPerProcessprocesses
 
Resources total
 

Detailed Description

Definition at line 280 of file FastTimerService.h.

Constructor & Destructor Documentation

FastTimerService::ResourcesPerJob::ResourcesPerJob ( )
default
FastTimerService::ResourcesPerJob::ResourcesPerJob ( ProcessCallGraph const &  job,
std::vector< GroupOfModules > const &  groups 
)

Definition at line 189 of file FastTimerService.cc.

References LaserDQM_cfg::process, ProcessCallGraph::processes(), and processes.

189  :
190  total(),
191  highlight( groups.size() ),
192  modules( job.size() ),
193  processes(),
194  events(0)
195 {
196  processes.reserve(job.processes().size());
197  for (auto const& process: job.processes())
198  processes.emplace_back(process);
199 }
std::vector< ResourcesPerModule > modules
std::vector< Resources > highlight
std::vector< ResourcesPerProcess > processes

Member Function Documentation

FastTimerService::ResourcesPerJob FastTimerService::ResourcesPerJob::operator+ ( ResourcesPerJob const &  other) const
FastTimerService::ResourcesPerJob & FastTimerService::ResourcesPerJob::operator+= ( ResourcesPerJob const &  other)

Definition at line 214 of file FastTimerService.cc.

References events, highlight, mps_fire::i, modules, processes, and total.

214  {
215  total += other.total;
216  assert(highlight.size() == other.highlight.size());
217  for (unsigned int i: boost::irange(0ul, highlight.size()))
218  highlight[i] += other.highlight[i];
219  assert(modules.size() == other.modules.size());
220  for (unsigned int i: boost::irange(0ul, modules.size()))
221  modules[i] += other.modules[i];
222  assert(processes.size() == other.processes.size());
223  for (unsigned int i: boost::irange(0ul, processes.size()))
224  processes[i] += other.processes[i];
225  events += other.events;
226  return *this;
227 }
std::vector< Resources > highlight
std::vector< ResourcesPerProcess > processes
void FastTimerService::ResourcesPerJob::reset ( void  )

Definition at line 202 of file FastTimerService.cc.

References events, highlight, LaserDQM_cfg::process, processes, FastTimerService::Resources::reset(), and total.

202  {
203  total.reset();
204  for (auto & module: highlight)
205  module.reset();
206  for (auto & module: modules)
207  module.reset();
208  for (auto & process: processes)
209  process.reset();
210  events = 0;
211 }
std::vector< Resources > highlight
std::vector< ResourcesPerProcess > processes
Definition: vlib.h:208

Member Data Documentation

unsigned FastTimerService::ResourcesPerJob::events
std::vector<Resources> FastTimerService::ResourcesPerJob::highlight
std::vector<ResourcesPerModule> FastTimerService::ResourcesPerJob::modules
std::vector<ResourcesPerProcess> FastTimerService::ResourcesPerJob::processes
Resources FastTimerService::ResourcesPerJob::total