Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
art::ResultsProducer Class Referenceabstract

#include <ResultsProducer.h>

Inheritance diagram for art::ResultsProducer:
art::ModuleBase art::detail::SharedModule art::ProductRegistryHelper art::test::DummyResultsProducer

Public Types

template<typename UserConfig , typename KeysToIgnore = void>
using Table = ProducerTable< UserConfig, detail::PluginConfig, KeysToIgnore >
 

Public Member Functions

virtual ~ResultsProducer () noexcept=default
 
 ResultsProducer () noexcept(false)
 
void doBeginJob ()
 
void doEndJob ()
 
void doBeginRun (RunPrincipal const &)
 
void doEndRun (RunPrincipal const &)
 
void doBeginSubRun (SubRunPrincipal const &)
 
void doEndSubRun (SubRunPrincipal const &)
 
void doEvent (EventPrincipal const &)
 
void doReadResults (ResultsPrincipal const &)
 
void doWriteResults (ResultsPrincipal &)
 
void doClear ()
 
void registerProducts (ProductDescriptions &producedProducts, ModuleDescription const &md)
 
- Public Member Functions inherited from art::ModuleBase
virtual ~ModuleBase () noexcept
 
 ModuleBase ()
 
ModuleDescription const & moduleDescription () const
 
void setModuleDescription (ModuleDescription const &)
 
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables () const
 
void sortConsumables (std::string const &current_process_name)
 
template<typename T , BranchType BT>
ViewToken< T > consumesView (InputTag const &tag)
 
template<typename T , BranchType BT>
ViewToken< T > mayConsumeView (InputTag const &tag)
 

Protected Member Functions

template<class P >
void produces (std::string const &instanceName={})
 
- Protected Member Functions inherited from art::ModuleBase
ConsumesCollectorconsumesCollector ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > consumes (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > mayConsume (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 

Private Member Functions

virtual void readResults (Results const &)
 
virtual void writeResults (Results &)=0
 
virtual void clear ()=0
 
virtual void beginJob ()
 
virtual void endJob ()
 
virtual void beginRun (Run const &)
 
virtual void endRun (Run const &)
 
virtual void beginSubRun (SubRun const &)
 
virtual void endSubRun (SubRun const &)
 
virtual void event (Event const &)
 
- Private Member Functions inherited from art::detail::SharedModule
 SharedModule ()
 
 SharedModule (std::string const &moduleLabel)
 
hep::concurrency::SerialTaskQueueChain * serialTaskQueueChain () const
 
std::set< std::string > const & sharedResources () const
 
void createQueues (SharedResources const &resources)
 
template<BranchType , typename... T>
void serialize (T const &...resources)
 
template<BranchType , typename... T>
void serializeExternal (T const &...resources)
 
template<BranchType BT = InEvent, typename... T>
void serialize (T const &...)
 
template<BranchType BT = InEvent, typename... T>
void serializeExternal (T const &...)
 
template<BranchType BT = InEvent>
void async ()
 
- Private Member Functions inherited from art::ProductRegistryHelper
 ProductRegistryHelper (product_creation_mode)
 
 ~ProductRegistryHelper ()
 
 ProductRegistryHelper (ProductRegistryHelper const &)=delete
 
 ProductRegistryHelper (ProductRegistryHelper &&)=delete
 
ProductRegistryHelperoperator= (ProductRegistryHelper const &)=delete
 
ProductRegistryHelperoperator= (ProductRegistryHelper &&)=delete
 
void productList (std::unique_ptr< ProductList > p)
 
void registerProducts (ProductDescriptions &productsToRegister, ModuleDescription const &md)
 
void fillDescriptions (ModuleDescription const &md)
 
template<typename P , BranchType B>
TypeLabel const & reconstitutes (std::string const &modLabel, std::string const &instanceName={})
 
template<BranchType B>
TypeLabelLookup_t const & expectedProducts () const
 
template<typename P , BranchType B = InEvent>
void produces (std::string const &instanceName={}, Persistable const persistable=Persistable::Yes)
 
ProducesCollectorproducesCollector () noexcept
 

Detailed Description

Definition at line 93 of file ResultsProducer.h.

Member Typedef Documentation

template<typename UserConfig , typename KeysToIgnore = void>
using art::ResultsProducer::Table = ProducerTable<UserConfig, detail::PluginConfig, KeysToIgnore>

Definition at line 102 of file ResultsProducer.h.

Constructor & Destructor Documentation

virtual art::ResultsProducer::~ResultsProducer ( )
virtualdefaultnoexcept
art::ResultsProducer::ResultsProducer ( )
noexcept

Definition at line 23 of file ResultsProducer.cc.

Member Function Documentation

void art::ResultsProducer::beginJob ( )
privatevirtual

Definition at line 120 of file ResultsProducer.cc.

121  {}
void art::ResultsProducer::beginRun ( Run const &  )
privatevirtual

Definition at line 128 of file ResultsProducer.cc.

129  {}
void art::ResultsProducer::beginSubRun ( SubRun const &  )
privatevirtual

Definition at line 136 of file ResultsProducer.cc.

137  {}
virtual void art::ResultsProducer::clear ( )
privatepure virtual
void art::ResultsProducer::doBeginJob ( )

Definition at line 38 of file ResultsProducer.cc.

39  {
40  // If results producers ever become eligible for multi-threaded
41  // execution, the serial task queues will need to be setup here.
42  beginJob();
43  }
virtual void beginJob()
void art::ResultsProducer::doBeginRun ( RunPrincipal const &  rp)

Definition at line 52 of file ResultsProducer.cc.

53  {
54  ModuleContext const mc{moduleDescription()};
55  Run const r{rp, mc};
56  beginRun(r);
57  }
virtual void beginRun(Run const &)
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:15
void art::ResultsProducer::doBeginSubRun ( SubRunPrincipal const &  srp)

Definition at line 68 of file ResultsProducer.cc.

69  {
70  ModuleContext const mc{moduleDescription()};
71  SubRun const sr{srp, mc};
72  beginSubRun(sr);
73  }
virtual void beginSubRun(SubRun const &)
static constexpr double sr
Definition: Units.h:166
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:15
void art::ResultsProducer::doClear ( )

Definition at line 109 of file ResultsProducer.cc.

110  {
111  clear();
112  }
virtual void clear()=0
void art::ResultsProducer::doEndJob ( )

Definition at line 46 of file ResultsProducer.cc.

47  {
48  endJob();
49  }
void art::ResultsProducer::doEndRun ( RunPrincipal const &  rp)

Definition at line 60 of file ResultsProducer.cc.

61  {
62  ModuleContext const mc{moduleDescription()};
63  Run const r{rp, mc};
64  endRun(r);
65  }
virtual void endRun(Run const &)
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:15
void art::ResultsProducer::doEndSubRun ( SubRunPrincipal const &  srp)

Definition at line 76 of file ResultsProducer.cc.

77  {
78  ModuleContext const mc{moduleDescription()};
79  SubRun const sr{srp, mc};
80  endSubRun(sr);
81  }
virtual void endSubRun(SubRun const &)
static constexpr double sr
Definition: Units.h:166
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:15
void art::ResultsProducer::doEvent ( EventPrincipal const &  ep)

Definition at line 84 of file ResultsProducer.cc.

85  {
86  ModuleContext const mc{moduleDescription()};
87  Event const e{ep, mc};
88  event(e);
89  }
virtual void event(Event const &)
const double e
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:15
void art::ResultsProducer::doReadResults ( ResultsPrincipal const &  resp)

Definition at line 92 of file ResultsProducer.cc.

93  {
94  ModuleContext const mc{moduleDescription()};
95  Results const res{resp, mc};
96  readResults(res);
97  }
virtual void readResults(Results const &)
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:15
void art::ResultsProducer::doWriteResults ( ResultsPrincipal resp)

Definition at line 100 of file ResultsProducer.cc.

101  {
102  ModuleContext const mc{moduleDescription()};
103  Results res{resp, mc};
104  writeResults(res);
105  res.movePutProductsToPrincipal(resp);
106  }
virtual void writeResults(Results &)=0
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:15
void art::ResultsProducer::endJob ( )
privatevirtual

Definition at line 124 of file ResultsProducer.cc.

125  {}
void art::ResultsProducer::endRun ( Run const &  )
privatevirtual

Definition at line 132 of file ResultsProducer.cc.

133  {}
void art::ResultsProducer::endSubRun ( SubRun const &  )
privatevirtual

Definition at line 140 of file ResultsProducer.cc.

141  {}
void art::ResultsProducer::event ( Event const &  )
privatevirtual

Definition at line 144 of file ResultsProducer.cc.

145  {}
template<class P >
void art::ResultsProducer::produces ( std::string const &  instanceName = {})
inlineprotected

Definition at line 148 of file ResultsProducer.h.

149 {
150  ProductRegistryHelper::produces<P, InResults>(instanceName);
151 }
void art::ResultsProducer::readResults ( Results const &  )
privatevirtual

Definition at line 116 of file ResultsProducer.cc.

117  {}
void art::ResultsProducer::registerProducts ( ProductDescriptions producedProducts,
ModuleDescription const &  md 
)

Definition at line 30 of file ResultsProducer.cc.

32  {
33  ProductRegistryHelper::registerProducts(productsToProduce, md);
35  }
void registerProducts(ProductDescriptions &productsToRegister, ModuleDescription const &md)
void setModuleDescription(ModuleDescription const &)
Definition: ModuleBase.cc:33
virtual void art::ResultsProducer::writeResults ( Results )
privatepure virtual

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