1 #ifndef FWCore_Framework_limited_implementors_h 2 #define FWCore_Framework_limited_implementors_h 49 class ServiceWeakToken;
58 template <
typename T,
typename C>
105 template <
typename T,
typename... CacheTypes>
117 template <std::
size_t ICacheType,
typename DataType,
typename Func>
119 cacheImpl_.template registerProcessBlockCacheFiller<ICacheType, DataType, Func>(
token,
120 std::forward<Func>(
func));
123 template <
typename CacheType,
typename DataType,
typename Func>
125 cacheImpl_.template registerProcessBlockCacheFiller<CacheType, DataType, Func>(
token,
126 std::forward<Func>(
func));
135 cacheImpl_.selectInputProcessBlocks(productRegistry, processBlockHelperBase, *
this);
152 template <
typename T,
typename C>
175 std::unique_ptr<std::shared_ptr<C>[]>
caches_;
178 template <
typename T,
typename C>
204 std::unique_ptr<std::shared_ptr<C>[]>
caches_;
207 template <
typename T,
typename C>
210 template <
typename T,
typename C>
227 std::lock_guard<std::mutex> guard(
mutex_);
242 std::unique_ptr<std::shared_ptr<C>[]>
caches_;
246 template <
typename T,
typename C>
249 template <
typename T,
typename C>
267 std::lock_guard<std::mutex> guard(
mutex_);
286 std::unique_ptr<std::shared_ptr<C>[]>
caches_;
290 template <
typename T>
306 template <
typename T>
320 template <
typename T>
334 template <
typename T>
348 template <
typename T>
362 template <
typename T,
typename C>
363 class EndRunSummaryProducer :
public RunSummaryCacheHolder<T, C> {
382 template <
typename T>
395 template <
typename T>
408 template <
typename T,
typename S>
409 class EndLuminosityBlockSummaryProducer :
public LuminosityBlockSummaryCacheHolder<T, S> {
429 template <
typename T>
446 template <
typename T>
455 template <
typename G,
typename F>
462 template <
typename G,
typename F>
464 using ReturnTypeT = decltype(iF(std::declval<G>()));
473 return std::make_unique<edm::Wrapper<ReturnTypeT>>(
478 template <
typename G,
typename P,
typename F>
484 using ReturnTypeT = decltype(iF(std::declval<CacheTypeT>()));
495 auto cache = std::any_cast<CacheTypeT>(iCache);
void preallocLumisSummary(unsigned int iNLumis) final
~EndRunSummaryProducer() noexcept(false) override
virtual void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const =0
EndLuminosityBlockSummaryProducer & operator=(EndLuminosityBlockSummaryProducer const &)=delete
void doBeginLuminosityBlockSummary_(edm::LuminosityBlock const &lb, EventSetup const &c) final
virtual std::unique_ptr< C > beginStream(edm::StreamID) const =0
void doEndStream_(StreamID id) final
EndProcessBlockProducer(edm::ParameterSet const &iPSet)
virtual void endProcessBlockProduce(edm::ProcessBlock &)=0
void produce(StreamID streamID, Event &ev, EventSetup const &es) const final
void doEndRun_(Run const &rp, EventSetup const &c) final
unsigned int ProductResolverIndex
BeginProcessBlockProducer & operator=(BeginProcessBlockProducer const &)=delete
~EndLuminosityBlockProducer() noexcept(false) override
LuminosityBlockCacheHolder< T, C > & operator=(LuminosityBlockCacheHolder< T, C > const &)=delete
StreamCacheHolder(edm::ParameterSet const &iPSet)
virtual void endStream(edm::StreamID) const
void doEndRunSummary_(Run const &rp, EventSetup const &c) final
bool any(const std::vector< T > &v, const T &what)
void preallocRunsSummary(unsigned int iNRuns) final
RunCacheHolder< T, C > & operator=(RunCacheHolder< T, C > const &)=delete
C const * runCache(edm::RunIndex iID) const
void maybeClearCache(Run const &) final
WatchProcessBlock & operator=(WatchProcessBlock const &)=delete
EndRunProducer & operator=(EndRunProducer const &)=delete
virtual void streamEndLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
virtual void streamEndRunSummary(StreamID, edm::Run const &, edm::EventSetup const &, C *) const =0
virtual void endProcessBlock(ProcessBlock const &)
void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
virtual void maybeClearCache(Run const &rp)
void doBeginRun_(Run const &rp, EventSetup const &c) final
virtual void globalEndRun(edm::Run const &, edm::EventSetup const &) const =0
Accumulator & operator=(Accumulator const &)=delete
std::unique_ptr< std::shared_ptr< C >[]> caches_
C const * luminosityBlockCache(edm::LuminosityBlockIndex iID) const
BeginLuminosityBlockProducer(edm::ParameterSet const &iPSet)
EndProcessBlockProducer & operator=(EndProcessBlockProducer const &)=delete
void doEndLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
BeginProcessBlockProducer(edm::ParameterSet const &iPSet)
~BeginLuminosityBlockProducer() noexcept(false) override
virtual void globalEndLuminosityBlockSummary(edm::LuminosityBlock const &, edm::EventSetup const &, C *) const =0
void preallocStreams(unsigned int iNStreams) final
WatchProcessBlock(edm::ParameterSet const &iPSet)
~EndRunProducer() noexcept(false) override
LuminosityBlockSummaryCacheHolder(edm::ParameterSet const &iPSet)
void doStreamBeginLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
~RunCacheHolder() noexcept(false) override
virtual void streamBeginLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
void doStreamEndRun_(StreamID id, Run const &rp, EventSetup const &c) final
~EndProcessBlockProducer() noexcept(false) override
void doEndLuminosityBlockSummary_(LuminosityBlock const &lb, EventSetup const &c) final
EndRunSummaryProducer & operator=(EndRunSummaryProducer const &)=delete
EndRunSummaryProducer(edm::ParameterSet const &iPSet)
EmptyType(edm::ParameterSet const &)
LuminosityBlockCacheHolder(edm::ParameterSet const &iPSet)
virtual void globalBeginLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &) const =0
virtual std::shared_ptr< C > globalBeginRun(edm::Run const &, edm::EventSetup const &) const =0
void preallocRuns(unsigned int iNRuns) final
BeginRunProducer(edm::ParameterSet const &iPSet)
virtual void beginProcessBlockProduce(edm::ProcessBlock &)=0
virtual void globalEndRunSummary(edm::Run const &, edm::EventSetup const &, C *) const =0
RunCacheHolder(edm::ParameterSet const &iPSet)
virtual std::shared_ptr< C > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const =0
edm::TypeWithDict returnType(const edm::FunctionWithDict &)
virtual std::shared_ptr< C > globalBeginRunSummary(edm::Run const &, edm::EventSetup const &) const =0
void doBeginLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
RunSummaryCacheHolder(edm::ParameterSet const &iPSet)
std::unique_ptr< std::shared_ptr< C >[]> caches_
void doEndLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
BeginLuminosityBlockProducer & operator=(BeginLuminosityBlockProducer const &)=delete
StreamCacheHolder< T, C > & operator=(StreamCacheHolder< T, C > const &)=delete
virtual void globalEndLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &) const =0
void doEndProcessBlockProduce_(ProcessBlock &) final
virtual void streamBeginRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
RunSummaryCacheHolder< T, C > & operator=(RunSummaryCacheHolder< T, C > const &)=delete
void doEndRunProduce_(Run &rp, EventSetup const &c) final
Accumulator(edm::ParameterSet const &iPSet)
EndRunProducer(edm::ParameterSet const &iPSet)
void doBeginProcessBlockProduce_(ProcessBlock &) final
std::vector< C * > caches_
void maybeClearCache(LuminosityBlock const &) final
virtual void streamEndLuminosityBlockSummary(StreamID, edm::LuminosityBlock const &, edm::EventSetup const &, C *) const =0
~LuminosityBlockCacheHolder() noexcept(false) override
void doStreamEndLuminosityBlockSummary_(StreamID id, LuminosityBlock const &lb, EventSetup const &c) final
virtual void globalEndRunProduce(edm::Run &, edm::EventSetup const &) const =0
LuminosityBlockSummaryCacheHolder< T, C > & operator=(LuminosityBlockSummaryCacheHolder< T, C > const &)=delete
void doBeginStream_(StreamID id) final
void doStreamEndRunSummary_(StreamID id, Run const &rp, EventSetup const &c) final
EndLuminosityBlockSummaryProducer(edm::ParameterSet const &iPSet)
EndLuminosityBlockProducer(edm::ParameterSet const &iPSet)
~BeginRunProducer() noexcept(false) override
~StreamCacheHolder() override
~WatchProcessBlock() noexcept(false) override
bool hasAccumulator() const override
~BeginProcessBlockProducer() noexcept(false) override
virtual void globalBeginRunProduce(edm::Run &, edm::EventSetup const &) const =0
std::pair< OmniClusterRef, TrackingParticleRef > P
~EndLuminosityBlockSummaryProducer() noexcept(false) override
virtual std::shared_ptr< C > globalBeginLuminosityBlockSummary(edm::LuminosityBlock const &, edm::EventSetup const &) const =0
BeginRunProducer & operator=(BeginRunProducer const &)=delete
~RunSummaryCacheHolder() noexcept(false) override
void doBeginLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
void doEndLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
std::unique_ptr< std::shared_ptr< C >[]> caches_
LuminosityBlockIndex index() const
C * streamCache(edm::StreamID iID) const
void doStreamBeginRun_(StreamID id, Run const &rp, EventSetup const &c) final
virtual void globalEndLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &, S const *) const =0
void doBeginRunSummary_(edm::Run const &rp, EventSetup const &c) final
virtual void globalEndRunProduce(edm::Run &, edm::EventSetup const &, C const *) const =0
~Accumulator() noexcept(false) override
virtual void streamEndRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
virtual void maybeClearCache(LuminosityBlock const &lb)
unsigned int value() const
std::unique_ptr< std::shared_ptr< C >[]> caches_
~LuminosityBlockSummaryCacheHolder() noexcept(false) override
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
void doEndRunProduce_(Run &rp, EventSetup const &c) final
void doEndProcessBlock_(ProcessBlock const &) final
void doBeginRunProduce_(Run &rp, EventSetup const &c) final
virtual void beginProcessBlock(ProcessBlock const &)
EndLuminosityBlockProducer & operator=(EndLuminosityBlockProducer const &)=delete
virtual void accumulate(StreamID streamID, Event const &ev, EventSetup const &es) const =0
void doBeginProcessBlock_(ProcessBlock const &) final
void preallocLumis(unsigned int iNLumis) final