FWCore
Framework
src
SynchronousEventSetupsController.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
//
3
// Package: Framework
4
// Class : SynchronousEventSetupsController
5
//
6
// Implementation:
7
// [Notes on implementation]
8
//
9
// Original Author: Chris Jones, W. David Dagenhart
10
// Created: Wed Jan 12 14:30:44 CST 2011
11
//
12
13
#include "
FWCore/Framework/src/SynchronousEventSetupsController.h
"
14
15
#include "
FWCore/Concurrency/interface/WaitingTaskHolder.h
"
16
17
#include <algorithm>
18
#include <iostream>
19
#include <set>
20
21
namespace
edm
{
22
namespace
eventsetup {
23
24
SynchronousEventSetupsController::SynchronousEventSetupsController
()
25
: globalControl_(tbb::global_control::max_allowed_parallelism, 1) {}
26
27
SynchronousEventSetupsController::~SynchronousEventSetupsController
() {
28
FinalWaitingTask
finalTask;
29
controller_
.
endIOVsAsync
(
edm::WaitingTaskHolder
(
taskGroup_
, &finalTask));
30
do
{
31
taskGroup_
.wait();
32
}
while
(not finalTask.
done
());
33
}
34
35
std::shared_ptr<EventSetupProvider>
SynchronousEventSetupsController::makeProvider
(
36
ParameterSet
& iPSet,
ActivityRegistry
* activityRegistry,
ParameterSet
const
* eventSetupPset) {
37
return
controller_
.
makeProvider
(iPSet, activityRegistry, eventSetupPset);
38
}
39
40
void
SynchronousEventSetupsController::eventSetupForInstance
(
IOVSyncValue
const
& syncValue) {
41
synchronousEventSetupForInstance
(syncValue,
taskGroup_
,
controller_
);
42
}
43
44
}
// namespace eventsetup
45
}
// namespace edm
edm::eventsetup::EventSetupsController::makeProvider
std::shared_ptr< EventSetupProvider > makeProvider(ParameterSet &, ActivityRegistry *, ParameterSet const *eventSetupPset=nullptr)
Definition:
EventSetupsController.cc:42
WaitingTaskHolder.h
edm
HLT enums.
Definition:
AlignableModifier.h:19
edm::eventsetup::SynchronousEventSetupsController::SynchronousEventSetupsController
SynchronousEventSetupsController()
Definition:
SynchronousEventSetupsController.cc:24
edm::eventsetup::synchronousEventSetupForInstance
void synchronousEventSetupForInstance(IOVSyncValue const &syncValue, tbb::task_group &iGroup, eventsetup::EventSetupsController &espController)
Definition:
EventSetupsController.cc:414
edm::eventsetup::SynchronousEventSetupsController::makeProvider
std::shared_ptr< EventSetupProvider > makeProvider(ParameterSet &, ActivityRegistry *, ParameterSet const *eventSetupPset=nullptr)
Definition:
SynchronousEventSetupsController.cc:35
edm::ActivityRegistry
Definition:
ActivityRegistry.h:134
edm::IOVSyncValue
Definition:
IOVSyncValue.h:31
edm::ParameterSet
Definition:
ParameterSet.h:47
edm::eventsetup::SynchronousEventSetupsController::taskGroup_
tbb::task_group taskGroup_
Definition:
SynchronousEventSetupsController.h:49
edm::WaitingTaskHolder
Definition:
WaitingTaskHolder.h:32
edm::FinalWaitingTask::done
bool done() const
Definition:
WaitingTask.h:82
edm::eventsetup::SynchronousEventSetupsController::~SynchronousEventSetupsController
~SynchronousEventSetupsController()
Definition:
SynchronousEventSetupsController.cc:27
edm::eventsetup::SynchronousEventSetupsController::eventSetupForInstance
void eventSetupForInstance(IOVSyncValue const &)
Definition:
SynchronousEventSetupsController.cc:40
edm::eventsetup::EventSetupsController::endIOVsAsync
void endIOVsAsync(edm::WaitingTaskHolder iEndTask)
Definition:
EventSetupsController.cc:36
edm::FinalWaitingTask
Definition:
WaitingTask.h:76
edm::eventsetup::SynchronousEventSetupsController::controller_
EventSetupsController controller_
Definition:
SynchronousEventSetupsController.h:50
SynchronousEventSetupsController.h
Generated for CMSSW Reference Manual by
1.8.16