Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
art::RPManager Class Reference

#include "/cvmfs/nova.opensciencegrid.org/externals/art/v2_13_00/source/art/Framework/Core/RPManager.h"

Public Types

using RPPath_t = std::vector< std::unique_ptr< art::RPWorker >>
 
using RPMap_t = std::map< std::string, RPPath_t >
 
template<typename RET , typename... ARGS>
using invoke_function_t = RET(art::ResultsProducer::*)(ARGS...)
 
using on_rpworker_t = std::function< void(art::RPWorker &)>
 

Public Member Functions

 RPManager (fhicl::ParameterSet const &ps)
 
std::size_t size () const
 
bool empty () const
 
template<typename... ARGS>
void invoke (invoke_function_t< void, ARGS... > mfunc, ARGS &&...args)
 
void for_each_RPWorker (on_rpworker_t wfunc)
 

Private Member Functions

RPMap_t makeRPs_ (fhicl::ParameterSet const &ps)
 

Private Attributes

RPMap_t rpmap_
 
std::size_t size_
 

Detailed Description

Definition at line 24 of file RPManager.h.

Member Typedef Documentation

template<typename RET , typename... ARGS>
using art::RPManager::invoke_function_t = RET (art::ResultsProducer::*)(ARGS...)

Definition at line 30 of file RPManager.h.

Definition at line 32 of file RPManager.h.

Definition at line 27 of file RPManager.h.

using art::RPManager::RPPath_t = std::vector<std::unique_ptr<art::RPWorker>>

Definition at line 26 of file RPManager.h.

Constructor & Destructor Documentation

art::RPManager::RPManager ( fhicl::ParameterSet const &  ps)

Member Function Documentation

bool art::RPManager::empty ( ) const
inline

Definition at line 58 of file RPManager.h.

References size_.

59 {
60  return size_ == 0ul;
61 }
std::size_t size_
Definition: RPManager.h:46
void art::RPManager::for_each_RPWorker ( on_rpworker_t  wfunc)

Definition at line 75 of file RPManager.h.

References path, rpmap_, and w.

Referenced by art::RootOutput::beginRun(), art::RootOutput::beginSubRun(), art::RootOutput::doRegisterProducts(), art::RootOutput::endRun(), art::RootOutput::endSubRun(), art::RootOutput::event(), art::RootOutput::readResults(), and art::RootOutput::startEndFile().

76 {
77  for (auto& path : rpmap_) {
78  for (auto& w : path.second) {
79  wfunc(*w);
80  }
81  }
82 }
const std::string path
Definition: plot_BEN.C:43
Float_t w
Definition: plot.C:20
RPMap_t rpmap_
Definition: RPManager.h:45
template<typename... ARGS>
void art::RPManager::invoke ( invoke_function_t< void, ARGS... >  mfunc,
ARGS &&...  args 
)

Definition at line 65 of file RPManager.h.

References make_syst_table_plots::args, path, rpmap_, and w.

Referenced by art::RootOutput::beginJob(), art::RootOutput::endJob(), and art::RootOutput::finishEndFile().

66 {
67  for (auto& path : rpmap_) {
68  for (auto& w : path.second) {
69  (w->rp().*mfunc)(std::forward<ARGS>(args)...);
70  }
71  }
72 }
const std::string path
Definition: plot_BEN.C:43
Float_t w
Definition: plot.C:20
RPMap_t rpmap_
Definition: RPManager.h:45
RPMap_t art::RPManager::makeRPs_ ( fhicl::ParameterSet const &  ps)
private
std::size_t art::RPManager::size ( void  ) const
inline

Definition at line 52 of file RPManager.h.

References size_.

53 {
54  return size_;
55 }
std::size_t size_
Definition: RPManager.h:46

Member Data Documentation

RPMap_t art::RPManager::rpmap_
private

Definition at line 45 of file RPManager.h.

Referenced by for_each_RPWorker(), and invoke().

std::size_t art::RPManager::size_
private

Definition at line 46 of file RPManager.h.

Referenced by empty(), and size().


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