library: libVMC #include "TVirtualMC.h" |
TVirtualMC
class description - source file - inheritance tree (.pdf)
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)
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
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.