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 283 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 202 of file FastTimerService.cc.

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

202  :
203  total(),
204  highlight( groups.size() ),
205  modules( job.size() ),
206  processes(),
207  events(0)
208 {
209  processes.reserve(job.processes().size());
210  for (auto const& process: job.processes())
211  processes.emplace_back(process);
212 }
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 227 of file FastTimerService.cc.

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

227  {
228  total += other.total;
229  assert(highlight.size() == other.highlight.size());
230  for (unsigned int i: boost::irange(0ul, highlight.size()))
231  highlight[i] += other.highlight[i];
232  assert(modules.size() == other.modules.size());
233  for (unsigned int i: boost::irange(0ul, modules.size()))
234  modules[i] += other.modules[i];
235  assert(processes.size() == other.processes.size());
236  for (unsigned int i: boost::irange(0ul, processes.size()))
237  processes[i] += other.processes[i];
238  events += other.events;
239  return *this;
240 }
std::vector< Resources > highlight
std::vector< ResourcesPerProcess > processes
void FastTimerService::ResourcesPerJob::reset ( void  )

Definition at line 215 of file FastTimerService.cc.

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

215  {
216  total.reset();
217  for (auto & module: highlight)
218  module.reset();
219  for (auto & module: modules)
220  module.reset();
221  for (auto & process: processes)
222  process.reset();
223  events = 0;
224 }
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