#include <OscarMTMasterThread.h>
Public Member Functions | |
void | beginRun (const edm::EventSetup &iSetup) const |
void | endRun () const |
OscarMTMasterThread (const edm::ParameterSet &iConfig) | |
RunManagerMT & | runManagerMaster () const |
RunManagerMT * | runManagerMasterPtr () const |
void | stopThread () |
~OscarMTMasterThread () | |
Private Types | |
enum | ThreadState { ThreadState::NotExist =0, ThreadState::BeginRun =1, ThreadState::EndRun =2, ThreadState::Destruct =3 } |
Private Member Functions | |
void | readES (const edm::EventSetup &iSetup) const |
Private Attributes | |
edm::ESWatcher< IdealGeometryRecord > | idealGeomRcdWatcher_ |
edm::ESWatcher< IdealMagneticFieldRecord > | idealMagRcdWatcher_ |
bool | m_firstRun |
bool | m_mainCanProceed |
bool | m_masterCanProceed |
std::thread | m_masterThread |
ThreadState | m_masterThreadState |
std::condition_variable | m_notifyMainCv |
std::condition_variable | m_notifyMasterCv |
const DDCompactView * | m_pDD |
const MagneticField * | m_pMF |
std::mutex | m_protectMutex |
const HepPDT::ParticleDataTable * | m_pTable |
const bool | m_pUseMagneticField |
std::shared_ptr< RunManagerMT > | m_runManagerMaster |
bool | m_stopped |
std::mutex | m_threadMutex |
Definition at line 28 of file OscarMTMasterThread.h.
|
strongprivate |
|
explicit |
Definition at line 22 of file OscarMTMasterThread.cc.
References BeginRun, g4SimHits_cfi::CustomUIsession, Destruct, EndRun, Exception, LogDebug, edm::errors::LogicError, m_mainCanProceed, m_masterCanProceed, m_masterThread, m_masterThreadState, m_notifyMainCv, m_notifyMasterCv, m_pDD, m_pMF, m_pTable, m_runManagerMaster, m_threadMutex, and runManagerMaster().
OscarMTMasterThread::~OscarMTMasterThread | ( | ) |
void OscarMTMasterThread::beginRun | ( | const edm::EventSetup & | iSetup | ) | const |
Definition at line 139 of file OscarMTMasterThread.cc.
References BeginRun, m_mainCanProceed, m_masterCanProceed, m_masterThreadState, m_notifyMainCv, m_notifyMasterCv, m_protectMutex, m_threadMutex, and readES().
Referenced by OscarMTProducer::globalBeginRun().
void OscarMTMasterThread::endRun | ( | ) | const |
Definition at line 160 of file OscarMTMasterThread.cc.
References EndRun, m_mainCanProceed, m_masterCanProceed, m_masterThreadState, m_notifyMainCv, m_notifyMasterCv, m_protectMutex, and m_threadMutex.
|
private |
Definition at line 204 of file OscarMTMasterThread.cc.
References edm::ESWatcher< T >::check(), edm::errors::Configuration, Exception, edm::EventSetup::get(), idealGeomRcdWatcher_, idealMagRcdWatcher_, m_firstRun, m_pDD, m_pMF, m_pTable, m_pUseMagneticField, edm::ESTransientHandle< T >::product(), and edm::ESHandle< T >::product().
Referenced by beginRun().
|
inline |
Definition at line 37 of file OscarMTMasterThread.h.
Referenced by OscarMTMasterThread().
|
inline |
Definition at line 38 of file OscarMTMasterThread.h.
void OscarMTMasterThread::stopThread | ( | ) |
Definition at line 176 of file OscarMTMasterThread.cc.
References Destruct, LogDebug, m_masterCanProceed, m_masterThread, m_masterThreadState, m_notifyMasterCv, m_runManagerMaster, m_stopped, and m_threadMutex.
Referenced by OscarMTProducer::globalEndJob(), and ~OscarMTMasterThread().
|
mutableprivate |
Definition at line 53 of file OscarMTMasterThread.h.
Referenced by readES().
|
mutableprivate |
Definition at line 54 of file OscarMTMasterThread.h.
Referenced by readES().
|
mutableprivate |
Definition at line 68 of file OscarMTMasterThread.h.
Referenced by readES().
|
mutableprivate |
Definition at line 67 of file OscarMTMasterThread.h.
Referenced by beginRun(), endRun(), and OscarMTMasterThread().
|
mutableprivate |
Definition at line 66 of file OscarMTMasterThread.h.
Referenced by beginRun(), endRun(), OscarMTMasterThread(), and stopThread().
|
private |
Definition at line 50 of file OscarMTMasterThread.h.
Referenced by OscarMTMasterThread(), and stopThread().
|
mutableprivate |
Definition at line 64 of file OscarMTMasterThread.h.
Referenced by beginRun(), endRun(), OscarMTMasterThread(), and stopThread().
|
mutableprivate |
Definition at line 62 of file OscarMTMasterThread.h.
Referenced by beginRun(), endRun(), and OscarMTMasterThread().
|
mutableprivate |
Definition at line 61 of file OscarMTMasterThread.h.
Referenced by beginRun(), endRun(), OscarMTMasterThread(), and stopThread().
|
mutableprivate |
Definition at line 55 of file OscarMTMasterThread.h.
Referenced by OscarMTMasterThread(), and readES().
|
mutableprivate |
Definition at line 56 of file OscarMTMasterThread.h.
Referenced by OscarMTMasterThread(), and readES().
|
mutableprivate |
Definition at line 59 of file OscarMTMasterThread.h.
Referenced by beginRun(), and endRun().
|
mutableprivate |
Definition at line 57 of file OscarMTMasterThread.h.
Referenced by OscarMTMasterThread(), and readES().
|
private |
Definition at line 47 of file OscarMTMasterThread.h.
Referenced by readES().
|
private |
Definition at line 49 of file OscarMTMasterThread.h.
Referenced by OscarMTMasterThread(), and stopThread().
|
mutableprivate |
Definition at line 69 of file OscarMTMasterThread.h.
Referenced by stopThread(), and ~OscarMTMasterThread().
|
mutableprivate |
Definition at line 60 of file OscarMTMasterThread.h.
Referenced by beginRun(), endRun(), OscarMTMasterThread(), and stopThread().