File indexing completed on 2024-04-06 12:12:15
0001 #ifndef FWCore_Framework_SynchronousEventSetupsController_h
0002 #define FWCore_Framework_SynchronousEventSetupsController_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #include "FWCore/Framework/interface/EventSetupsController.h"
0022
0023 #include "oneapi/tbb/task_group.h"
0024 #include "oneapi/tbb/global_control.h"
0025
0026 namespace edm {
0027
0028 namespace eventsetup {
0029
0030 class SynchronousEventSetupsController {
0031 public:
0032 SynchronousEventSetupsController();
0033 ~SynchronousEventSetupsController();
0034
0035 SynchronousEventSetupsController(SynchronousEventSetupsController const&) = delete;
0036 SynchronousEventSetupsController const& operator=(SynchronousEventSetupsController const&) = delete;
0037 SynchronousEventSetupsController(SynchronousEventSetupsController&&) = delete;
0038 SynchronousEventSetupsController const& operator=(SynchronousEventSetupsController&&) = delete;
0039
0040 std::shared_ptr<EventSetupProvider> makeProvider(ParameterSet&,
0041 ActivityRegistry*,
0042 ParameterSet const* eventSetupPset = nullptr);
0043
0044
0045 void eventSetupForInstance(IOVSyncValue const&);
0046
0047 private:
0048 oneapi::tbb::global_control globalControl_;
0049 oneapi::tbb::task_group taskGroup_;
0050 EventSetupsController controller_;
0051 };
0052 }
0053 }
0054 #endif