TVirtualMC
class description - source file - inheritance tree
private:
TVirtualMC& operator=(const TVirtualMC&)
public:
virtual void ~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 void DefaultRange()
virtual void DefineParticles()
virtual void DrawOneSpec(const char* name)
virtual Double_t Edep() const
virtual Double_t Etot() const
virtual void FinishGeometry()
virtual void Gckmat(Int_t, char*)
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 TMCGeomType GetMCGeomType() const
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 Gfpart(Int_t, char*, Int_t&, Float_t&, Float_t&, Float_t&)
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 Gspart(Int_t, const char*, Int_t, Double_t, Double_t, Double_t)
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 void Gtreve()
virtual void GtreveRoot()
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 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 NofVolumes() const
virtual Int_t NSecondaries() const
virtual Int_t PDGFromId(Int_t pdg) const
virtual void ProcessEvent()
virtual void ProcessRun(Int_t nevent)
virtual TMCProcess ProdProcess(Int_t isec) const
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 void SetColors()
virtual void SetCut(const char* cutName, Double_t cutValue)
virtual void SetExternalDecayer(TVirtualMCDecayer* decayer)
virtual void SetMaxNStep(Int_t)
virtual void SetMaxStep(Double_t)
virtual void SetProcess(const char* flagName, Int_t flagValue)
virtual void SetRandom(TRandom* random)
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 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 Int_t TrackPid() const
virtual void TrackPosition(TLorentzVector& position) const
virtual Double_t TrackStep() const
virtual Double_t TrackTime() 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()
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 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 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)
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
void SetCut(const char* cutName, Double_t cutValue)
void SetProcess(const char* flagName, Int_t flagValue)
Double_t Xsec(char*, Double_t, Int_t, Int_t)
Int_t IdFromPDG(Int_t id) const
Int_t PDGFromId(Int_t pdg) const
void DefineParticles()
void StopTrack()
void StopEvent()
void SetMaxStep(Double_t)
void SetMaxNStep(Int_t)
void SetUserDecay(Int_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
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 TrackMomentum(TLorentzVector& momentum) 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
TMCGeomType GetMCGeomType() 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 SetColors()
void Gtreve()
void GtreveRoot()
void Gckmat(Int_t, char*)
void InitLego()
void Gfpart(Int_t, char*, Int_t&, Float_t&, Float_t&, Float_t&)
void Gspart(Int_t, const char*, Int_t, Double_t, Double_t, Double_t)
void Init()
void FinishGeometry()
void BuildPhysics()
void ProcessEvent()
void ProcessRun(Int_t nevent)
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.3 2002/04/26 08:46:10 brun Exp $
Copyright (c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
ROOT page - Class index - 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.