|
|
Go to the documentation of this file. 1 #ifndef FWCore_TestProcessor_TestProcessor_h
2 #define FWCore_TestProcessor_TestProcessor_h
25 #include "tbb/global_control.h"
26 #include "tbb/task_arena.h"
27 #include "tbb/task_group.h"
62 class ThinnedAssociationsHelper;
63 class ExceptionToActionTable;
64 class HistoryAppender;
66 namespace eventsetup {
67 class EventSetupProvider;
68 class EventSetupsController;
72 class TestProcessorConfig;
109 template <
typename T>
118 template <
typename REC,
typename T>
120 auto rk = eventsetup::EventSetupRecordKey::makeKey<REC>();
173 return testImpl(std::forward<T>(iArgs)...);
176 template <
typename...
T>
180 template <
typename...
T>
185 template <
typename...
T>
189 template <
typename...
T>
251 template <
typename T,
typename...
U>
254 return testImpl(std::forward<U>(iArgs)...);
257 template <
typename T,
typename...
U>
260 return testImpl(std::forward<U>(iArgs)...);
263 template <
typename T>
265 put(iPut.first.index(), std::make_unique<edm::Wrapper<T>>(
std::move(iPut.second)));
268 template <
typename T>
273 void put(
unsigned int, std::unique_ptr<WrapperBase>);
277 template <
typename T,
typename...
U>
287 template <
typename T,
typename...
U>
295 template <
typename T,
typename...
U>
303 template <
typename T,
typename...
U>
323 std::shared_ptr<RunPrincipal>
endRun();
333 std::shared_ptr<ProductRegistry>
preg_;
339 std::shared_ptr<eventsetup::EventSetupProvider>
esp_;
356 std::vector<std::pair<edm::BranchDescription, std::unique_ptr<WrapperBase>>>
dataProducts_;
void put(std::pair< edm::test::ESPutTokenT< T >, std::unique_ptr< T >> &&iPut)
std::vector< std::string > extraProcesses_
void setLuminosityBlockNumber(edm::LuminosityBlockNumber_t)
ProcessToken addExtraProcess(std::string const &iProcessName)
std::string const & labelOfTestModule() const
~TestProcessor() noexcept(false)
std::shared_ptr< ThinnedAssociationsHelper > thinnedAssociationsHelper_
TestProcessor(Config const &iConfig, ServiceToken iToken=ServiceToken())
void testLuminosityBlockWithNoEvents()
tbb::global_control globalControl_
edm::test::Event testImpl(std::pair< edm::EDPutTokenT< T >, std::unique_ptr< T >> &&iPut, U &&... iArgs)
void setRunNumber(edm::RunNumber_t)
edm::test::Run testEndRunImpl()
edm::test::ESPutTokenT< T > esProduces(std::string iLabel=std::string())
edm::test::LuminosityBlock testBeginLuminosityBlockImpl(edm::LuminosityBlockNumber_t iNum, std::pair< edm::test::ESPutTokenT< T >, std::unique_ptr< T >> &&iPut, U &&... iArgs)
std::shared_ptr< ProcessBlockHelper > processBlockHelper_
ProcessHistoryRegistry processHistoryRegistry_
edm::test::ProcessBlock testBeginProcessBlock()
std::vector< ProduceEntry > produceEntries_
std::string processName(ProcessToken iToken)
std::string labelOfTestModule_
std::vector< ProduceEntry > const & produceEntries() const
ServiceToken serviceToken_
edm::test::LuminosityBlock testBeginLuminosityBlock(edm::LuminosityBlockNumber_t iNum, T &&... iArgs)
std::shared_ptr< ProcessConfiguration const > processConfiguration_
unsigned int LuminosityBlockNumber_t
std::shared_ptr< LuminosityBlockPrincipal > endLuminosityBlock()
std::shared_ptr< LuminosityBlockPrincipal > lumiPrincipal_
edm::test::ProcessBlock testEndProcessBlockImpl()
edm::test::LuminosityBlock testEndLuminosityBlock(T &&... iArgs)
edm::test::ProcessBlock testBeginProcessBlockImpl()
friend TestProcessorConfig
edm::test::ProcessBlock testEndProcessBlock()
std::unique_ptr< HistoryAppender > historyAppender_
unsigned long long EventNumber_t
std::shared_ptr< ProductRegistry > preg_
edm::test::Run testEndRun(T &&... iArgs)
std::vector< std::pair< edm::BranchDescription, std::unique_ptr< WrapperBase > > > dataProducts_
static int undefinedIndex()
TestProcessorConfig(std::string const &iPythonConfiguration)
std::string instanceLabel_
edm::test::Run testBeginRunImpl(edm::RunNumber_t iNum, std::pair< edm::test::ESPutTokenT< T >, std::unique_ptr< T >> &&iPut, U &&... iArgs)
ProcessContext processContext_
tbb::task_group taskGroup_
std::shared_ptr< RunPrincipal > endRun()
edm::test::LuminosityBlock testEndLuminosityBlockImpl()
T const & get(Event const &event, InputTag const &tag) noexcept(false)
EventNumber_t eventNumber_
std::string const & pythonConfiguration() const
void testBeginAndEndJobOnly()
std::shared_ptr< BranchIDListHelper > branchIDListHelper_
void put(std::pair< edm::EDPutTokenT< T >, std::unique_ptr< T >> &&iPut)
def template(fileName, svg, replaceme="REPLACEME")
std::shared_ptr< EventSetupTestHelper > esHelper_
std::shared_ptr< ActivityRegistry > actReg_
void setEventNumber(edm::EventNumber_t)
edm::test::LuminosityBlock testEndRunImpl(std::pair< edm::test::ESPutTokenT< T >, std::unique_ptr< T >> &&iPut, U &&... iArgs)
std::vector< std::string > const & extraProcesses() const
edm::test::LuminosityBlock testEndLuminosityBlockImpl(std::pair< edm::test::ESPutTokenT< T >, std::unique_ptr< T >> &&iPut, U &&... iArgs)
void testRunWithNoLuminosityBlocks()
const TestProcessor & operator=(const TestProcessor &)=delete
std::shared_ptr< eventsetup::EventSetupProvider > esp_
edm::test::Event testImpl()
std::unique_ptr< Schedule > schedule_
void setPythonConfiguration(std::string iConfig)
std::unique_ptr< eventsetup::EventSetupsController > espController_
void teardownProcessing()
edm::test::Run testBeginRun(edm::RunNumber_t iNum, T &&... iArgs)
std::vector< ESProduceEntry > esProduceEntries_
edm::test::Event testImpl(std::pair< edm::test::ESPutTokenT< T >, std::unique_ptr< T >> &&iPut, U &&... iArgs)
bool beginProcessBlockCalled_
std::shared_ptr< ModuleRegistry > moduleRegistry_
void beginLuminosityBlock()
ProcessBlockPrincipal const * endProcessBlock()
PrincipalCache principalCache_
std::vector< ESProduceEntry > const & esProduceEntries() const
LuminosityBlockNumber_t lumiNumber_
edm::EDPutTokenT< T > produces(std::string iModuleLabel, std::string iProductInstanceLabel=std::string(), ProcessToken iToken=ProcessToken())
std::unique_ptr< ExceptionToActionTable const > act_table_
PreallocationConfiguration preallocations_
ProduceEntry(edm::TypeID const &iType, std::string moduleLabel, std::string instanceLabel, std::string processName)