13#ifndef ROOT_TVirtualMCApplication
14#define ROOT_TVirtualMCApplication
128#if !defined(__CINT__)
139 b[0] = 0;
b[1] = 0;
b[2] = 0;
#define ClassDef(name, id)
The TNamed class is the base class for all named ROOT classes.
Interface to a user Monte Carlo application.
TVirtualMCApplication()
Default constructor.
virtual ~TVirtualMCApplication()
Destructor.
virtual void FinishWorkerRun() const
Const Define actions at the end of the worker run if needed - now deprecated Use new non-const Finish...
virtual void ConstructSensitiveDetectors()
Define sensitive detectors (optional)
virtual void InitGeometry()=0
Initialize geometry (Usually used to define sensitive volumes IDs)
virtual void BeginWorkerRun() const
Const Define actions at the beginning of the worker run if needed - now deprecated Use new non-const ...
virtual void Merge(TVirtualMCApplication *)
Merge the data accumulated on workers to the master if needed.
virtual void GeneratePrimaries()=0
Generate primary particles.
virtual void ConstructGeometry()=0
Construct user geometry.
virtual void FinishPrimary()=0
Define actions at the end of the primary track.
virtual Double_t TrackingZmax() const
Define maximum z for tracking (optional)
virtual void FinishRunOnWorker()
Define actions at the end of the worker run if needed.
virtual TVirtualMCApplication * CloneForWorker() const
Clone MC application on worker.
virtual Bool_t MisalignGeometry()
Misalign user geometry (optional)
virtual void PostTrack()=0
Define actions at the end of each track.
virtual void GeaneStepping()
Define action at each step for Geane.
virtual void ConstructOpGeometry()
Define parameters for optical processes (optional)
virtual void AddParticles()
Add user defined particles (optional)
virtual void InitForWorker() const
Const Initialize MC application on worker - now deprecated Use new non-const InitOnWorker() instead.
static TMCThreadLocal TVirtualMCApplication * fgInstance
Singleton instance.
virtual void Field(const Double_t *x, Double_t *b) const
Calculate user field b at point x.
virtual void AddIons()
Add user defined ions (optional)
virtual void BeginRunOnWorker()
Define actions at the beginning of the worker run if needed.
virtual void Stepping()=0
Define action at each step.
virtual void BeginPrimary()=0
Define actions at the beginning of the primary track.
static TVirtualMCApplication * Instance()
Static access method.
virtual void BeginEvent()=0
Define actions at the beginning of the event.
virtual Double_t TrackingRmax() const
Define maximum radius for tracking (optional)
virtual void PreTrack()=0
Define actions at the beginning of each track.
virtual void InitOnWorker()
Initialize MC application on worker.
virtual void FinishEvent()=0
Define actions at the end of the event.