library: libVMC
#include "TVirtualMC.h"

TVirtualMC


class description - source file - inheritance tree (.pdf)

class TVirtualMC : public TNamed

Inheritance Chart:
TObject
<-
TNamed
<-
TVirtualMC
 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

    private:
TVirtualMC& operator=(const TVirtualMC&) public:
virtual ~TVirtualMC() virtual void BuildPhysics() static TClass* Class() virtual Int_t CurrentEvent() const virtual Int_t CurrentMaterial(Float_t& a, Float_t& z, Float_t& dens, Float_t& radl, Float_t& absl) const virtual Int_t CurrentVolID(Int_t& copyNo) const virtual const char* CurrentVolName() const virtual Int_t CurrentVolOffID(Int_t off, Int_t& copyNo) const virtual const char* CurrentVolOffName(Int_t off) const virtual const char* CurrentVolPath() const virtual void DefaultRange() virtual Bool_t DefineIon(const char* name, Int_t Z, Int_t A, Int_t Q, Double_t excEnergy, Double_t mass = 0.) virtual void DefineOpSurface(const char* name, EMCOpSurfaceModel model, EMCOpSurfaceType surfaceType, EMCOpSurfaceFinish surfaceFinish, Double_t sigmaAlpha) virtual Bool_t DefineParticle(Int_t pdg, const char* name, TMCParticleType pType, Double_t mass, Double_t charge, Double_t lifetime) virtual void DrawOneSpec(const char* name) virtual Double_t Edep() const virtual Double_t Etot() const virtual void ForceDecayTime(Float_t) virtual void Gckmat(Int_t imed, char* name) virtual void Gdhead(Int_t, const char*, Double_t = 0) virtual void Gdman(Double_t, Double_t, const char*) virtual void Gdopt(const char*, const char*) virtual void Gdraw(const char*, Double_t theta = 30, Double_t phi = 30, Double_t psi = 0, Double_t u0 = 10, Double_t v0 = 10, Double_t ul = 0.01, Double_t vl = 0.01) virtual void Gdtom(Float_t* xd, Float_t* xm, Int_t iflag) virtual void Gdtom(Double_t* xd, Double_t* xm, Int_t iflag) virtual TVirtualMCDecayer* GetDecayer() const virtual Int_t GetMaxNStep() const static TVirtualMC* GetMC() virtual Int_t GetMedium() const virtual TRandom* GetRandom() const virtual void GetSecondary(Int_t isec, Int_t& particleId, TLorentzVector& position, TLorentzVector& momentum) virtual TVirtualMCStack* GetStack() const virtual void Gfmate(Int_t imat, char* name, Float_t& a, Float_t& z, Float_t& dens, Float_t& radl, Float_t& absl, Float_t* ubuf, Int_t& nbuf) virtual void Gfmate(Int_t imat, char* name, Double_t& a, Double_t& z, Double_t& dens, Double_t& radl, Double_t& absl, Double_t* ubuf, Int_t& nbuf) virtual void Gmtod(Float_t* xm, Float_t* xd, Int_t iflag) virtual void Gmtod(Double_t* xm, Double_t* xd, Int_t iflag) virtual void Gsatt(const char* name, const char* att, Int_t val) virtual void Gsbool(const char* onlyVolName, const char* manyVolName) virtual void Gsdvn(const char* name, const char* mother, Int_t ndiv, Int_t iaxis) virtual void Gsdvn2(const char* name, const char* mother, Int_t ndiv, Int_t iaxis, Double_t c0i, Int_t numed) virtual void Gsdvt(const char* name, const char* mother, Double_t step, Int_t iaxis, Int_t numed, Int_t ndvmx) virtual void Gsdvt2(const char* name, const char* mother, Double_t step, Int_t iaxis, Double_t c0, Int_t numed, Int_t ndvmx) virtual void Gsord(const char* name, Int_t iax) virtual void Gspos(const char* name, Int_t nr, const char* mother, Double_t x, Double_t y, Double_t z, Int_t irot, const char* konly = "ONLY") virtual void Gsposp(const char* name, Int_t nr, const char* mother, Double_t x, Double_t y, Double_t z, Int_t irot, const char* konly, Float_t* upar, Int_t np) virtual void Gsposp(const char* name, Int_t nr, const char* mother, Double_t x, Double_t y, Double_t z, Int_t irot, const char* konly, Double_t* upar, Int_t np) virtual void Gstpar(Int_t itmed, const char* param, Double_t parval) virtual Int_t Gsvolu(const char* name, const char* shape, Int_t nmed, Float_t* upar, Int_t np) virtual Int_t Gsvolu(const char* name, const char* shape, Int_t nmed, Double_t* upar, Int_t np) virtual Int_t IdFromPDG(Int_t id) const virtual void Init() virtual void InitLego() virtual TClass* IsA() const virtual Bool_t IsNewTrack() const virtual Bool_t IsRootGeometrySupported() const virtual Bool_t IsTrackAlive() const virtual Bool_t IsTrackDisappeared() const virtual Bool_t IsTrackEntering() const virtual Bool_t IsTrackExiting() const virtual Bool_t IsTrackInside() const virtual Bool_t IsTrackOut() const virtual Bool_t IsTrackStop() const virtual void Material(Int_t& kmat, const char* name, Double_t a, Double_t z, Double_t dens, Double_t radl, Double_t absl, Float_t* buf, Int_t nwbuf) virtual void Material(Int_t& kmat, const char* name, Double_t a, Double_t z, Double_t dens, Double_t radl, Double_t absl, Double_t* buf, Int_t nwbuf) virtual void Matrix(Int_t& krot, Double_t thetaX, Double_t phiX, Double_t thetaY, Double_t phiY, Double_t thetaZ, Double_t phiZ) virtual Double_t MaxStep() const virtual void Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, Int_t ifield, Double_t fieldm, Double_t tmaxfd, Double_t stemax, Double_t deemax, Double_t epsil, Double_t stmin, Float_t* ubuf, Int_t nbuf) virtual void Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, Int_t ifield, Double_t fieldm, Double_t tmaxfd, Double_t stemax, Double_t deemax, Double_t epsil, Double_t stmin, Double_t* ubuf, Int_t nbuf) virtual void Mixture(Int_t& kmat, const char* name, Float_t* a, Float_t* z, Double_t dens, Int_t nlmat, Float_t* wmat) virtual void Mixture(Int_t& kmat, const char* name, Double_t* a, Double_t* z, Double_t dens, Int_t nlmat, Double_t* wmat) virtual Int_t NofVolDaughters(const char* volName) const virtual Int_t NofVolumes() const virtual Int_t NSecondaries() const virtual Double_t ParticleCharge(Int_t pdg) const virtual Double_t ParticleLifeTime(Int_t pdg) const virtual Double_t ParticleMass(Int_t pdg) const virtual TMCParticleType ParticleMCType(Int_t pdg) const virtual TString ParticleName(Int_t pdg) const virtual Int_t PDGFromId(Int_t pdg) const virtual void ProcessEvent() virtual Bool_t ProcessRun(Int_t nevent) virtual TMCProcess ProdProcess(Int_t isec) const virtual Bool_t SecondariesAreOrdered() const virtual void SetBorderSurface(const char* name, const char* vol1Name, int vol1CopyNo, const char* vol2Name, int vol2CopyNo, const char* opSurfaceName) virtual void SetCerenkov(Int_t itmed, Int_t npckov, Float_t* ppckov, Float_t* absco, Float_t* effic, Float_t* rindex) virtual void SetCerenkov(Int_t itmed, Int_t npckov, Double_t* ppckov, Double_t* absco, Double_t* effic, Double_t* rindex) virtual void SetClipBox(const char*, Double_t = -9999, Double_t = 0, Double_t = -9999, Double_t = 0, Double_t = -9999, Double_t = 0) virtual Bool_t SetCut(const char* cutName, Double_t cutValue) virtual void SetExternalDecayer(TVirtualMCDecayer* decayer) virtual void SetMaterialProperty(Int_t itmed, const char* propertyName, Int_t np, Double_t* pp, Double_t* values) virtual void SetMaterialProperty(Int_t itmed, const char* propertyName, Double_t value) virtual void SetMaterialProperty(const char* surfaceName, const char* propertyName, Int_t np, Double_t* pp, Double_t* values) virtual void SetMaxNStep(Int_t) virtual void SetMaxStep(Double_t) virtual Bool_t SetProcess(const char* flagName, Int_t flagValue) virtual void SetRandom(TRandom* random) virtual void SetRootGeometry() virtual void SetSkinSurface(const char* name, const char* volName, const char* opSurfaceName) virtual void SetStack(TVirtualMCStack* stack) virtual void SetUserDecay(Int_t) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual Int_t StepProcesses(TArrayI& proc) const virtual void StopEvent() virtual void StopRun() virtual void StopTrack() virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual Double_t TrackCharge() const virtual Double_t TrackLength() const virtual Double_t TrackMass() const virtual void TrackMomentum(TLorentzVector& momentum) const virtual void TrackMomentum(Double_t& px, Double_t& py, Double_t& pz, Double_t& etot) const virtual Int_t TrackPid() const virtual void TrackPosition(TLorentzVector& position) const virtual void TrackPosition(Double_t& x, Double_t& y, Double_t& z) const virtual Double_t TrackStep() const virtual Double_t TrackTime() const virtual Int_t VolDaughterCopyNo(const char* volName, Int_t i) const virtual const char* VolDaughterName(const char* volName, Int_t i) const virtual Int_t VolId(const Text_t* volName) const virtual Int_t VolId2Mate(Int_t id) const virtual const char* VolName(Int_t id) const virtual void WriteEuclid(const char*, const char*, Int_t, Int_t) virtual Double_t Xsec(char*, Double_t, Int_t, Int_t)

Data Members

    private:
static TVirtualMC* fgMC Monte Carlo singleton instance TVirtualMCStack* fStack ! Particles stack TVirtualMCDecayer* fDecayer ! External decayer TRandom* fRandom ! Random number generator protected:
TVirtualMCApplication* fApplication ! User MC application

Class Description

   Virtual MC provides a virtual interface to Monte Carlo.
   It enables the user to build a virtual Monte Carlo application
   independent of any actual underlying Monte Carlo implementation itself.

   A user will have to implement a class derived from the abstract
   Monte Carlo application class, and provide functions like
   ConstructGeometry(), BeginEvent(), FinishEvent(), ... .
   The concrete Monte Carlo (Geant3, Geant4) is selected at run time -
   when processing a ROOT macro where the concrete Monte Carlo is instantiated.
______________________________________________________________________________

~TVirtualMC()
 Destructor


void SetStack(TVirtualMCStack* stack)
 Set particles stack.


void SetExternalDecayer(TVirtualMCDecayer* decayer)
 Set external decayer.


void SetRandom(TRandom* random)
 Set random number generator.




Inline Functions


               TVirtualMC* GetMC()
                    Bool_t IsRootGeometrySupported() const
                      void Gfmate(Int_t imat, char* name, Float_t& a, Float_t& z, Float_t& dens, Float_t& radl, Float_t& absl, Float_t* ubuf, Int_t& nbuf)
                      void Gfmate(Int_t imat, char* name, Double_t& a, Double_t& z, Double_t& dens, Double_t& radl, Double_t& absl, Double_t* ubuf, Int_t& nbuf)
                      void Gckmat(Int_t imed, char* name)
                      void Material(Int_t& kmat, const char* name, Double_t a, Double_t z, Double_t dens, Double_t radl, Double_t absl, Float_t* buf, Int_t nwbuf)
                      void Material(Int_t& kmat, const char* name, Double_t a, Double_t z, Double_t dens, Double_t radl, Double_t absl, Double_t* buf, Int_t nwbuf)
                      void Mixture(Int_t& kmat, const char* name, Float_t* a, Float_t* z, Double_t dens, Int_t nlmat, Float_t* wmat)
                      void Mixture(Int_t& kmat, const char* name, Double_t* a, Double_t* z, Double_t dens, Int_t nlmat, Double_t* wmat)
                      void Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, Int_t ifield, Double_t fieldm, Double_t tmaxfd, Double_t stemax, Double_t deemax, Double_t epsil, Double_t stmin, Float_t* ubuf, Int_t nbuf)
                      void Medium(Int_t& kmed, const char* name, Int_t nmat, Int_t isvol, Int_t ifield, Double_t fieldm, Double_t tmaxfd, Double_t stemax, Double_t deemax, Double_t epsil, Double_t stmin, Double_t* ubuf, Int_t nbuf)
                      void Matrix(Int_t& krot, Double_t thetaX, Double_t phiX, Double_t thetaY, Double_t phiY, Double_t thetaZ, Double_t phiZ)
                      void Gstpar(Int_t itmed, const char* param, Double_t parval)
                     Int_t Gsvolu(const char* name, const char* shape, Int_t nmed, Float_t* upar, Int_t np)
                     Int_t Gsvolu(const char* name, const char* shape, Int_t nmed, Double_t* upar, Int_t np)
                      void Gsdvn(const char* name, const char* mother, Int_t ndiv, Int_t iaxis)
                      void Gsdvn2(const char* name, const char* mother, Int_t ndiv, Int_t iaxis, Double_t c0i, Int_t numed)
                      void Gsdvt(const char* name, const char* mother, Double_t step, Int_t iaxis, Int_t numed, Int_t ndvmx)
                      void Gsdvt2(const char* name, const char* mother, Double_t step, Int_t iaxis, Double_t c0, Int_t numed, Int_t ndvmx)
                      void Gsord(const char* name, Int_t iax)
                      void Gspos(const char* name, Int_t nr, const char* mother, Double_t x, Double_t y, Double_t z, Int_t irot, const char* konly = "ONLY")
                      void Gsposp(const char* name, Int_t nr, const char* mother, Double_t x, Double_t y, Double_t z, Int_t irot, const char* konly, Float_t* upar, Int_t np)
                      void Gsposp(const char* name, Int_t nr, const char* mother, Double_t x, Double_t y, Double_t z, Int_t irot, const char* konly, Double_t* upar, Int_t np)
                      void Gsbool(const char* onlyVolName, const char* manyVolName)
                      void SetCerenkov(Int_t itmed, Int_t npckov, Float_t* ppckov, Float_t* absco, Float_t* effic, Float_t* rindex)
                      void SetCerenkov(Int_t itmed, Int_t npckov, Double_t* ppckov, Double_t* absco, Double_t* effic, Double_t* rindex)
                      void DefineOpSurface(const char* name, EMCOpSurfaceModel model, EMCOpSurfaceType surfaceType, EMCOpSurfaceFinish surfaceFinish, Double_t sigmaAlpha)
                      void SetBorderSurface(const char* name, const char* vol1Name, int vol1CopyNo, const char* vol2Name, int vol2CopyNo, const char* opSurfaceName)
                      void SetSkinSurface(const char* name, const char* volName, const char* opSurfaceName)
                      void SetMaterialProperty(Int_t itmed, const char* propertyName, Int_t np, Double_t* pp, Double_t* values)
                      void SetMaterialProperty(Int_t itmed, const char* propertyName, Double_t value)
                      void SetMaterialProperty(const char* surfaceName, const char* propertyName, Int_t np, Double_t* pp, Double_t* values)
                      void DrawOneSpec(const char* name)
                      void Gsatt(const char* name, const char* att, Int_t val)
                      void Gdraw(const char*, Double_t theta = 30, Double_t phi = 30, Double_t psi = 0, Double_t u0 = 10, Double_t v0 = 10, Double_t ul = 0.01, Double_t vl = 0.01)
                      void WriteEuclid(const char*, const char*, Int_t, Int_t)
                      void SetRootGeometry()
                     Int_t VolId(const Text_t* volName) const
               const char* VolName(Int_t id) const
                     Int_t NofVolumes() const
                     Int_t VolId2Mate(Int_t id) const
                     Int_t NofVolDaughters(const char* volName) const
               const char* VolDaughterName(const char* volName, Int_t i) const
                     Int_t VolDaughterCopyNo(const char* volName, Int_t i) const
                    Bool_t SetCut(const char* cutName, Double_t cutValue)
                    Bool_t SetProcess(const char* flagName, Int_t flagValue)
                    Bool_t DefineParticle(Int_t pdg, const char* name, TMCParticleType pType, Double_t mass, Double_t charge, Double_t lifetime)
                    Bool_t DefineIon(const char* name, Int_t Z, Int_t A, Int_t Q, Double_t excEnergy, Double_t mass = 0.)
                  Double_t Xsec(char*, Double_t, Int_t, Int_t)
                     Int_t IdFromPDG(Int_t id) const
                     Int_t PDGFromId(Int_t pdg) const
                   TString ParticleName(Int_t pdg) const
                  Double_t ParticleMass(Int_t pdg) const
                  Double_t ParticleCharge(Int_t pdg) const
                  Double_t ParticleLifeTime(Int_t pdg) const
           TMCParticleType ParticleMCType(Int_t pdg) const
                      void StopTrack()
                      void StopEvent()
                      void StopRun()
                      void SetMaxStep(Double_t)
                      void SetMaxNStep(Int_t)
                      void SetUserDecay(Int_t)
                      void ForceDecayTime(Float_t)
                     Int_t CurrentVolID(Int_t& copyNo) const
                     Int_t CurrentVolOffID(Int_t off, Int_t& copyNo) const
               const char* CurrentVolName() const
               const char* CurrentVolOffName(Int_t off) const
               const char* CurrentVolPath() const
                     Int_t CurrentMaterial(Float_t& a, Float_t& z, Float_t& dens, Float_t& radl, Float_t& absl) const
                     Int_t CurrentEvent() const
                      void Gmtod(Float_t* xm, Float_t* xd, Int_t iflag)
                      void Gmtod(Double_t* xm, Double_t* xd, Int_t iflag)
                      void Gdtom(Float_t* xd, Float_t* xm, Int_t iflag)
                      void Gdtom(Double_t* xd, Double_t* xm, Int_t iflag)
                  Double_t MaxStep() const
                     Int_t GetMaxNStep() const
                     Int_t GetMedium() const
                      void TrackPosition(TLorentzVector& position) const
                      void TrackPosition(Double_t& x, Double_t& y, Double_t& z) const
                      void TrackMomentum(TLorentzVector& momentum) const
                      void TrackMomentum(Double_t& px, Double_t& py, Double_t& pz, Double_t& etot) const
                  Double_t TrackStep() const
                  Double_t TrackLength() const
                  Double_t TrackTime() const
                  Double_t Edep() const
                     Int_t TrackPid() const
                  Double_t TrackCharge() const
                  Double_t TrackMass() const
                  Double_t Etot() const
                    Bool_t IsNewTrack() const
                    Bool_t IsTrackInside() const
                    Bool_t IsTrackEntering() const
                    Bool_t IsTrackExiting() const
                    Bool_t IsTrackOut() const
                    Bool_t IsTrackDisappeared() const
                    Bool_t IsTrackStop() const
                    Bool_t IsTrackAlive() const
                     Int_t NSecondaries() const
                      void GetSecondary(Int_t isec, Int_t& particleId, TLorentzVector& position, TLorentzVector& momentum)
                TMCProcess ProdProcess(Int_t isec) const
                     Int_t StepProcesses(TArrayI& proc) const
                    Bool_t SecondariesAreOrdered() const
                      void Gdopt(const char*, const char*)
                      void SetClipBox(const char*, Double_t = -9999, Double_t = 0, Double_t = -9999, Double_t = 0, Double_t = -9999, Double_t = 0)
                      void DefaultRange()
                      void Gdhead(Int_t, const char*, Double_t = 0)
                      void Gdman(Double_t, Double_t, const char*)
                      void Init()
                      void BuildPhysics()
                      void ProcessEvent()
                    Bool_t ProcessRun(Int_t nevent)
                      void InitLego()
          TVirtualMCStack* GetStack() const
        TVirtualMCDecayer* GetDecayer() const
                  TRandom* GetRandom() const
               TVirtualMC& operator=(const TVirtualMC&)
                   TClass* Class()
                   TClass* IsA() const
                      void ShowMembers(TMemberInspector& insp, char* parent)
                      void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)


Last update: root/mc:$Name: $:$Id: TVirtualMC.cxx,v 1.5 2005/02/08 11:20:15 brun Exp $
Copyright (c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.