43 ::Fatal(
"TVirtualMCApplication::TVirtualMCApplication",
"Attempt to create two instances of singleton.");
48 ::Fatal(
"TVirtualMCApplication::TVirtualMCApplication",
"In multi-engine run ==> multithreading is disabled.");
115 Fatal(
"Register",
"Attempt to register a second TVirtualMC which "
Singleton manager class for handling and steering a run with multiple TVirtualMC engines sharing even...
void ConnectEnginePointer(TVirtualMC **mc)
Connect a pointer which is updated whenever the engine is changed.
void Register(TVirtualMC *engine)
A TVirtualMC will register itself via this method during construction if a TMCManager was instanciate...
Interface to a user Monte Carlo application.
TVirtualMCApplication()
Default constructor.
virtual ~TVirtualMCApplication()
Destructor.
TMCManager * fMCManager
Pointer to requested TMCManager which will only be instantiated by a call to RequestMCManager()
void Register(TVirtualMC *mc)
Register the an engine.
TVirtualMC * GetMC() const
Return the transport engine registered to this application.
static TMCThreadLocal TVirtualMCApplication * fgInstance
Singleton instance.
void RequestMCManager()
Request a TMCManager which is required if multiple engines should be run.
static Bool_t fLockMultiThreading
Forbid multithreading mode if multi run via global static flag.
static TVirtualMCApplication * Instance()
Static access method.
TVirtualMC * fMC
The current transport engine in use.
Abstract Monte Carlo interface.