CMS 3D CMS Logo

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

#include <outputmoduleAbilityToImplementor.h>

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

Public Member Functions

template<typename... A>
 LuminosityBlockCacheHolder (edm::ParameterSet const &iPSet)
 
 LuminosityBlockCacheHolder (LuminosityBlockCacheHolder< C > const &)=delete
 
LuminosityBlockCacheHolder< C > & operator= (LuminosityBlockCacheHolder< C > const &)=delete
 
 ~LuminosityBlockCacheHolder ()(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 const * luminosityBlockCache (edm::LuminosityBlockIndex iID) const
 
C * luminosityBlockCache (edm::LuminosityBlockIndex iID)
 
void preallocLumis (unsigned int iNLumis) final
 
- 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 ()
 
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 doBeginLuminosityBlock_ (edm::LuminosityBlockForOutput const &lp) final
 
void doEndLuminosityBlock_ (edm::LuminosityBlockForOutput const &lp) final
 
virtual std::shared_ptr< C > globalBeginLuminosityBlock (edm::LuminosityBlockForOutput const &) const =0
 
virtual void globalEndLuminosityBlock (edm::LuminosityBlockForOutput const &)=0
 

Private Attributes

std::unique_ptr< std::shared_ptr< C >[]> caches_
 

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::LuminosityBlockCacheHolder< C >

Definition at line 110 of file outputmoduleAbilityToImplementor.h.

Constructor & Destructor Documentation

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

Definition at line 113 of file outputmoduleAbilityToImplementor.h.

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

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

Definition at line 116 of file outputmoduleAbilityToImplementor.h.

116 {};

Member Function Documentation

template<typename C >
void edm::one::outputmodule::LuminosityBlockCacheHolder< C >::doBeginLuminosityBlock_ ( edm::LuminosityBlockForOutput const &  lp)
inlinefinalprivatevirtual

Reimplemented from edm::one::OutputModuleBase.

Definition at line 125 of file outputmoduleAbilityToImplementor.h.

125  {
126  caches_[lp.index()] = globalBeginLuminosityBlock(lp);
127  }
virtual std::shared_ptr< C > globalBeginLuminosityBlock(edm::LuminosityBlockForOutput const &) const =0
template<typename C >
void edm::one::outputmodule::LuminosityBlockCacheHolder< C >::doEndLuminosityBlock_ ( edm::LuminosityBlockForOutput const &  lp)
inlinefinalprivatevirtual

Reimplemented from edm::one::OutputModuleBase.

Definition at line 128 of file outputmoduleAbilityToImplementor.h.

128  {
130  caches_[lp.index()].reset();
131  }
virtual void globalEndLuminosityBlock(edm::LuminosityBlockForOutput const &)=0
template<typename C >
virtual std::shared_ptr<C> edm::one::outputmodule::LuminosityBlockCacheHolder< C >::globalBeginLuminosityBlock ( edm::LuminosityBlockForOutput const &  ) const
privatepure virtual
template<typename C >
virtual void edm::one::outputmodule::LuminosityBlockCacheHolder< C >::globalEndLuminosityBlock ( edm::LuminosityBlockForOutput const &  )
privatepure virtual
template<typename C >
C const* edm::one::outputmodule::LuminosityBlockCacheHolder< C >::luminosityBlockCache ( edm::LuminosityBlockIndex  iID) const
inlineprotected

Definition at line 121 of file outputmoduleAbilityToImplementor.h.

121 { return caches_[iID].get(); }
template<typename C >
C* edm::one::outputmodule::LuminosityBlockCacheHolder< C >::luminosityBlockCache ( edm::LuminosityBlockIndex  iID)
inlineprotected

Definition at line 122 of file outputmoduleAbilityToImplementor.h.

122 { return caches_[iID].get(); }
template<typename C >
LuminosityBlockCacheHolder<C>& edm::one::outputmodule::LuminosityBlockCacheHolder< C >::operator= ( LuminosityBlockCacheHolder< C > const &  )
delete
template<typename C >
void edm::one::outputmodule::LuminosityBlockCacheHolder< C >::preallocLumis ( unsigned int  iNLumis)
inlinefinalprotectedvirtual

Reimplemented from edm::one::OutputModuleBase.

Definition at line 119 of file outputmoduleAbilityToImplementor.h.

119 { caches_.reset(new std::shared_ptr<C>[iNLumis]); }

Member Data Documentation

template<typename C >
std::unique_ptr<std::shared_ptr<C>[]> edm::one::outputmodule::LuminosityBlockCacheHolder< C >::caches_
private

Definition at line 135 of file outputmoduleAbilityToImplementor.h.