CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
edm::one::outputmodule::RunCacheHolder< C > Class Template Referenceabstract

#include <outputmoduleAbilityToImplementor.h>

Inheritance diagram for edm::one::outputmodule::RunCacheHolder< C >:
edm::one::OutputModuleBase edm::EDConsumerBase

Public Member Functions

RunCacheHolder< C > & operator= (RunCacheHolder< C > const &)=delete
 
 RunCacheHolder (edm::ParameterSet const &iPSet)
 
 RunCacheHolder (RunCacheHolder< C > const &)=delete
 
 ~RunCacheHolder ()(false) override
 
- Public Member Functions inherited from edm::one::OutputModuleBase
BranchIDLists const * branchIDLists ()
 
virtual SerialTaskQueueglobalLuminosityBlocksQueue ()
 
virtual SerialTaskQueueglobalRunsQueue ()
 
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch () const
 
SelectedProductsForBranchType const & keptProducts () const
 
int maxEvents () const
 
const ModuleDescriptionmoduleDescription () const
 
OutputModuleBaseoperator= (OutputModuleBase const &)=delete
 
 OutputModuleBase (ParameterSet const &pset)
 
 OutputModuleBase (OutputModuleBase const &)=delete
 
std::string const & processName () const
 
int remainingEvents () const
 
bool selected (BranchDescription const &desc) const
 
void selectProducts (ProductRegistry const &preg, ThinnedAssociationsHelper const &)
 
SharedResourcesAcquirersharedResourcesAcquirer ()
 
SubProcessParentageHelper const * subProcessParentageHelper () const
 
ThinnedAssociationsHelper const * thinnedAssociationsHelper () const
 
bool wantAllEvents () const
 
virtual bool wantsGlobalLuminosityBlocks () const =0
 
virtual bool wantsGlobalRuns () const =0
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~OutputModuleBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

C * runCache (edm::RunIndex iID)
 
C const * runCache (edm::RunIndex iID) const
 
- Protected Member Functions inherited from edm::one::OutputModuleBase
void configure (OutputModuleDescription const &desc)
 
ModuleDescription const & description () const
 
void doBeginJob ()
 
bool doBeginLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetupImpl const &c, ModuleCallingContext const *)
 
bool doBeginRun (RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *)
 
void doEndJob ()
 
bool doEndLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetupImpl const &c, ModuleCallingContext const *)
 
bool doEndRun (RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *)
 
bool doEvent (EventPrincipal const &ep, EventSetupImpl const &c, ActivityRegistry *, ModuleCallingContext const *)
 
void doPreallocate (PreallocationConfiguration const &)
 
std::map< BranchID::value_type, BranchID::value_type > const & droppedBranchIDToKeptBranchID ()
 
virtual void preallocLumis (unsigned int)
 
ParameterSetID selectorConfig () const
 
void setEventSelectionInfo (std::map< std::string, std::vector< std::pair< std::string, int >>> const &outputModulePathPositions, bool anyProductProduced)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Member Functions

void doBeginRun_ (edm::RunForOutput const &rp) final
 
void doEndRun_ (edm::RunForOutput const &rp) final
 
virtual std::shared_ptr< C > globalBeginRun (edm::RunForOutput const &) const =0
 
virtual void globalEndRun (edm::RunForOutput const &)=0
 

Private Attributes

edm::propagate_const< std::shared_ptr< C > > cache_
 

Additional Inherited Members

- Public Types inherited from edm::one::OutputModuleBase
typedef OutputModuleBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::OutputModuleBase
static const std::string & baseType ()
 
static void fillDescription (ParameterSetDescription &desc)
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

template<typename C>
class edm::one::outputmodule::RunCacheHolder< C >

Definition at line 85 of file outputmoduleAbilityToImplementor.h.

Constructor & Destructor Documentation

template<typename C >
edm::one::outputmodule::RunCacheHolder< C >::RunCacheHolder ( edm::ParameterSet const &  iPSet)
inline

Definition at line 87 of file outputmoduleAbilityToImplementor.h.

References edm::one::outputmodule::RunWatcher::operator=().

87 : OutputModuleBase(iPSet) {}
OutputModuleBase(ParameterSet const &pset)
template<typename C >
edm::one::outputmodule::RunCacheHolder< C >::RunCacheHolder ( RunCacheHolder< C > const &  )
delete
template<typename C >
edm::one::outputmodule::RunCacheHolder< C >::~RunCacheHolder ( )
inlineoverride

Definition at line 90 of file outputmoduleAbilityToImplementor.h.

90 {};

Member Function Documentation

template<typename C >
void edm::one::outputmodule::RunCacheHolder< C >::doBeginRun_ ( edm::RunForOutput const &  rp)
inlinefinalprivatevirtual

Reimplemented from edm::one::OutputModuleBase.

Definition at line 97 of file outputmoduleAbilityToImplementor.h.

97 { cache_ = globalBeginRun(rp); }
edm::propagate_const< std::shared_ptr< C > > cache_
virtual std::shared_ptr< C > globalBeginRun(edm::RunForOutput const &) const =0
template<typename C >
void edm::one::outputmodule::RunCacheHolder< C >::doEndRun_ ( edm::RunForOutput const &  rp)
inlinefinalprivatevirtual

Reimplemented from edm::one::OutputModuleBase.

Definition at line 98 of file outputmoduleAbilityToImplementor.h.

98  {
99  globalEndRun(rp);
100  cache_ = nullptr; // propagate_const<T> has no reset() function
101  }
virtual void globalEndRun(edm::RunForOutput const &)=0
edm::propagate_const< std::shared_ptr< C > > cache_
template<typename C >
virtual std::shared_ptr<C> edm::one::outputmodule::RunCacheHolder< C >::globalBeginRun ( edm::RunForOutput const &  ) const
privatepure virtual
template<typename C >
virtual void edm::one::outputmodule::RunCacheHolder< C >::globalEndRun ( edm::RunForOutput const &  )
privatepure virtual
template<typename C >
RunCacheHolder<C>& edm::one::outputmodule::RunCacheHolder< C >::operator= ( RunCacheHolder< C > const &  )
delete
template<typename C >
C* edm::one::outputmodule::RunCacheHolder< C >::runCache ( edm::RunIndex  iID)
inlineprotected

Definition at line 93 of file outputmoduleAbilityToImplementor.h.

93 { return cache_.get(); }
edm::propagate_const< std::shared_ptr< C > > cache_
element_type const * get() const
template<typename C >
C const* edm::one::outputmodule::RunCacheHolder< C >::runCache ( edm::RunIndex  iID) const
inlineprotected

Definition at line 94 of file outputmoduleAbilityToImplementor.h.

94 { return cache_.get(); }
edm::propagate_const< std::shared_ptr< C > > cache_
element_type const * get() const

Member Data Documentation

template<typename C >
edm::propagate_const<std::shared_ptr<C> > edm::one::outputmodule::RunCacheHolder< C >::cache_
private

Definition at line 106 of file outputmoduleAbilityToImplementor.h.