1 #ifndef FWCore_Framework_one_implementors_h
2 #define FWCore_Framework_one_implementors_h
66 template <
typename... Args>
114 template <
typename T>
130 template <
typename T>
153 void doEndProcessBlockProduce_(ProcessBlock&) final;
155 virtual
void endProcessBlockProduce(edm::ProcessBlock&) = 0;
172 template <
typename T>
186 template <
typename T>
200 template <
typename T>
214 template <
typename T,
typename... CacheTypes>
223 return cacheImpl_.processBlockCaches(event);
226 template <std::
size_t ICacheType,
typename DataType,
typename Func>
228 cacheImpl_.template registerProcessBlockCacheFiller<ICacheType, DataType, Func>(
token,
229 std::forward<Func>(
func));
232 template <
typename CacheType,
typename DataType,
typename Func>
234 cacheImpl_.template registerProcessBlockCacheFiller<CacheType, DataType, Func>(
token,
235 std::forward<Func>(
func));
239 unsigned int cacheSize()
const {
return cacheImpl_.cacheSize(); }
244 cacheImpl_.selectInputProcessBlocks(productRegistry, processBlockHelperBase, *
this);
248 cacheImpl_.accessInputProcessBlock(pb);
249 accessInputProcessBlock(pb);
261 template <
typename T,
typename C>
286 template <
typename T,
typename C>
295 void preallocLumis(
unsigned int iNLumis)
final { caches_.reset(
new std::shared_ptr<C>[iNLumis]); }
302 caches_[lp.index()] = globalBeginLuminosityBlock(lp,
c);
305 globalEndLuminosityBlock(lp,
c);
306 caches_[lp.index()].reset();
312 std::unique_ptr<std::shared_ptr<C>[]>
caches_;
315 template <
typename T>
std::unique_ptr< std::shared_ptr< C >[]> caches_
void produce(Event &ev, EventSetup const &es) final
const edm::EventSetup & c
void doBeginProcessBlockProduce_(ProcessBlock &) final
virtual void beginProcessBlock(ProcessBlock const &)
void doEndRun_(Run const &rp, EventSetup const &c) final
virtual void endRun(edm::Run const &, edm::EventSetup const &)=0
~EndProcessBlockProducer() noexcept(false) override
SharedResourcesUser & operator=(SharedResourcesUser const &)=delete
LuminosityBlockWatcher & operator=(LuminosityBlockWatcher const &)=delete
BeginProcessBlockProducer()=default
SharedResourcesUser(Args...args)
virtual void endProcessBlock(ProcessBlock const &)
~WatchProcessBlock() noexcept(false) override
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t Func __host__ __device__ V int Func func
void doEndRun_(Run const &rp, EventSetup const &c) final
RunWatcher & operator=(RunWatcher const &)=delete
BeginProcessBlockProducer & operator=(BeginProcessBlockProducer const &)=delete
~Accumulator() noexcept(false) override
edm::SerialTaskQueue queue_
C const * runCache(edm::RunIndex iID) const
C * runCache(edm::RunIndex iID)
void doBeginLuminosityBlock_(LuminosityBlock const &rp, EventSetup const &c) final
~EndRunProducer() noexcept(false) override
void doBeginProcessBlock_(ProcessBlock const &) final
void doEndLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
edm::propagate_const< std::shared_ptr< C > > cache_
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)=0
~LuminosityBlockWatcher() noexcept(false) override
~LuminosityBlockCacheHolder() noexcept(false) override
void doBeginRun_(Run const &rp, EventSetup const &c) final
SharedResourcesAcquirer createAcquirer() override
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)=0
~SharedResourcesUser() override
C const * luminosityBlockCache(edm::LuminosityBlockIndex iID) const
~EndLuminosityBlockProducer() noexcept(false) override
void preallocLumis(unsigned int iNLumis) final
edm::SerialTaskQueue * queue()
bool hasAccumulator() const override
edm::SerialTaskQueue * queue()
std::set< std::string > resourceNames_
virtual void beginProcessBlockProduce(edm::ProcessBlock &)=0
void doBeginRun_(Run const &rp, EventSetup const &c) final
void doEndLuminosityBlock_(LuminosityBlock const &rp, EventSetup const &c) final
C * luminosityBlockCache(edm::LuminosityBlockIndex iID)
~BeginLuminosityBlockProducer() noexcept(false) override
~BeginRunProducer() noexcept(false) override
LuminosityBlockWatcher()=default
virtual void beginRun(edm::Run const &, edm::EventSetup const &)=0
void doEndProcessBlock_(ProcessBlock const &) final
~RunWatcher() noexcept(false) override
WatchProcessBlock & operator=(WatchProcessBlock const &)=delete
~BeginProcessBlockProducer() noexcept(false) override
void doBeginLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
WatchProcessBlock()=default
~RunCacheHolder() noexcept(false) override