Geant4 VMC Version 6.6
Loading...
Searching...
No Matches
TG4MCGeometry Class Reference

Geant4 implementation of the TVirtualMCGeometry interface. More...

#include <TG4MCGeometry.h>

Inheritance diagram for TG4MCGeometry:

Public Member Functions

 TG4MCGeometry ()
 
virtual ~TG4MCGeometry ()
 
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 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 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 Matrix (Int_t &krot, Double_t thetaX, Double_t phiX, Double_t thetaY, Double_t phiY, Double_t thetaZ, Double_t phiZ)
 
virtual void Ggclos ()
 
virtual Int_t Gsvolu (const char *name, const char *shape, Int_t nmed, Double_t *upar, Int_t np)
 
virtual Int_t Gsvolu (const char *name, const char *shape, Int_t nmed, Float_t *upar, Int_t np)
 
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)
 
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 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 Gsbool (const char *onlyVolName, const char *manyVolName)
 
virtual Bool_t GetTransformation (const TString &volumePath, TGeoHMatrix &matrix)
 
virtual Bool_t GetShape (const TString &volumePath, TString &shapeType, TArrayD &par)
 
virtual Bool_t GetMaterial (const TString &volumeName, TString &name, Int_t &imat, Double_t &a, Double_t &z, Double_t &density, Double_t &radl, Double_t &inter, TArrayD &par)
 
virtual Bool_t GetMedium (const TString &volumeName, TString &name, Int_t &imed, 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, TArrayD &par)
 
virtual Int_t MediumId (const Text_t *mediumName) const
 
virtual Int_t VolId (const Text_t *volName) const
 
virtual const char * VolName (Int_t id) const
 
virtual Int_t NofVolumes () const
 
virtual Int_t NofVolDaughters (const char *volName) const
 
virtual const char * VolDaughterName (const char *volName, Int_t i) const
 
virtual Int_t VolDaughterCopyNo (const char *volName, Int_t i) const
 
virtual Int_t VolId2Mate (Int_t id) const
 
- Public Member Functions inherited from TG4Verbose
 TG4Verbose (const G4String &cmdName)
 
 TG4Verbose (const G4String &cmdName, G4int verboseLevel)
 
virtual ~TG4Verbose ()
 
virtual void VerboseLevel (G4int level)
 
virtual G4int VerboseLevel () const
 

Private Member Functions

 TG4MCGeometry (const TG4MCGeometry &right)
 Not implemented.
 
TG4MCGeometryoperator= (const TG4MCGeometry &right)
 Not implemented.
 

Private Attributes

TG4GeometryServicesfGeometryServices
 geometry services
 
TG4StringVector fMaterialNameVector
 vector of material names sorted in the order of materials in G3Mat
 

Detailed Description

Geant4 implementation of the TVirtualMCGeometry interface.

This interfaces defines methods for building geometry a la geant3 and is implemented with use og G3toG4

Author
: V. Berejnoi, CERN; I. Hrivnacova, IPN Orsay

Definition at line 48 of file TG4MCGeometry.h.

Constructor & Destructor Documentation

◆ TG4MCGeometry() [1/2]

TG4MCGeometry::TG4MCGeometry ( )

Default constructor

Definition at line 66 of file TG4MCGeometry.cxx.

◆ ~TG4MCGeometry()

TG4MCGeometry::~TG4MCGeometry ( )
virtual

Destructor

Definition at line 79 of file TG4MCGeometry.cxx.

◆ TG4MCGeometry() [2/2]

TG4MCGeometry::TG4MCGeometry ( const TG4MCGeometry & right)
private

Not implemented.

Member Function Documentation

◆ Material() [1/2]

void TG4MCGeometry::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

Create material.
!! Parameters radl, absl, buf, nwbuf are ignored in G4gsmate.

Definition at line 89 of file TG4MCGeometry.cxx.

Referenced by Material().

◆ Material() [2/2]

void TG4MCGeometry::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

Create material.
Not available without USE_G3TOG4 option.

Definition at line 137 of file TG4MCGeometry.cxx.

◆ Mixture() [1/2]

void TG4MCGeometry::Mixture ( Int_t & kmat,
const char * name,
Float_t * a,
Float_t * z,
Double_t dens,
Int_t nlmat,
Float_t * wmat )
virtual

Create material composed of more elements.
!! Parameters radl, absl, buf, nwbuf are ignored in G4gsmate

Definition at line 148 of file TG4MCGeometry.cxx.

Referenced by Mixture().

◆ Mixture() [2/2]

void TG4MCGeometry::Mixture ( Int_t & kmat,
const char * name,
Double_t * a,
Double_t * z,
Double_t dens,
Int_t nlmat,
Double_t * wmat )
virtual

Create material composed of more elements.
Not available without USE_G3TOG4 option.

Definition at line 204 of file TG4MCGeometry.cxx.

◆ Medium() [1/2]

void TG4MCGeometry::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

Create a temporary "medium" that is used for assigning corresponding parameters to G4 objects:

  • NTMED is stored as a second material index;
  • ISVOL is used for builing G3SensVolVector;
  • STEMAX is passed in G4UserLimits
  • !! The other parameters (IFIELD, FIELDM, TMAXFD, DEEMAX, EPSIL, STMIN) are ignored by Geant4.

Geant3 desription:

  • NTMED Tracking medium number
  • NAME Tracking medium name
  • NMAT Material number
  • ISVOL Sensitive volume flag
  • IFIELD Magnetic field
  • FIELDM Max. field value (Kilogauss)
  • TMAXFD Max. angle due to field (deg/step)
  • STEMAX Max. step allowed
  • DEEMAX Max. fraction of energy lost in a step
  • EPSIL Tracking precision (cm)
  • STMIN Min. step due to continuos processes (cm)
  • IFIELD = 0 if no magnetic field;
  • IFIELD = -1 if user decision in GUSWIM;
  • IFIELD = 1 if tracking performed with GRKUTA;
  • IFIELD = 2 if tracking performed with GHELIX;
  • IFIELD = 3 if tracking performed with GHELX3.

Definition at line 216 of file TG4MCGeometry.cxx.

Referenced by Medium().

◆ Medium() [2/2]

void TG4MCGeometry::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

Create a temporary "medium". Not available without USE_G3TOG4 option.

Definition at line 310 of file TG4MCGeometry.cxx.

◆ Matrix()

void TG4MCGeometry::Matrix ( Int_t & krot,
Double_t thetaX,
Double_t phiX,
Double_t thetaY,
Double_t phiY,
Double_t thetaZ,
Double_t phiZ )
virtual

Create rotation matrix. Not available without USE_G3TOG4 option.

Definition at line 333 of file TG4MCGeometry.cxx.

◆ Ggclos()

void TG4MCGeometry::Ggclos ( )
virtual

Set the top VTE in temporary G3 volume table. Close geometry output file (if fWriteGeometry is set true).

Geant3 desription:
==================
close out the geometry

Definition at line 345 of file TG4MCGeometry.cxx.

◆ Gsvolu() [1/2]

Int_t TG4MCGeometry::Gsvolu ( const char * name,
const char * shape,
Int_t nmed,
Double_t * upar,
Int_t np )
virtual

It creates a new volume in the JVOLUM data structure. Not available without USE_G3TOG4 option.

Definition at line 384 of file TG4MCGeometry.cxx.

Referenced by Gsvolu().

◆ Gsvolu() [2/2]

Int_t TG4MCGeometry::Gsvolu ( const char * name,
const char * shape,
Int_t nmed,
Float_t * upar,
Int_t np )
virtual

Single precision interface.

Definition at line 396 of file TG4MCGeometry.cxx.

◆ Gsdvn()

void TG4MCGeometry::Gsdvn ( const char * name,
const char * mother,
Int_t ndiv,
Int_t iaxis )
virtual

It divides a previously defined volume. Not available without USE_G3TOG4 option.

Definition at line 432 of file TG4MCGeometry.cxx.

◆ Gsdvn2()

void TG4MCGeometry::Gsdvn2 ( const char * name,
const char * mother,
Int_t ndiv,
Int_t iaxis,
Double_t c0i,
Int_t numed )
virtual

Geant3 desription:
==================
Divides mother into ndiv divisions called name along axis iaxis starting at coordinate value c0. Not available without USE_G3TOG4 option.

Definition at line 459 of file TG4MCGeometry.cxx.

◆ Gsdvt()

void TG4MCGeometry::Gsdvt ( const char * name,
const char * mother,
Double_t step,
Int_t iaxis,
Int_t numed,
Int_t ndvmx )
virtual

Divides MOTHER into divisions called NAME along axis IAXIS in steps of STEP. Not available without USE_G3TOG4 option.

Definition at line 492 of file TG4MCGeometry.cxx.

◆ Gsdvt2()

void TG4MCGeometry::Gsdvt2 ( const char * name,
const char * mother,
Double_t step,
Int_t iaxis,
Double_t c0,
Int_t numed,
Int_t ndvmx )
virtual

Divides MOTHER into divisions called NAME along axis IAXIS starting at coordinate value C0 with step size STEP.
Not available without USE_G3TOG4 option.

Definition at line 525 of file TG4MCGeometry.cxx.

◆ Gsord()

void TG4MCGeometry::Gsord ( const char * name,
Int_t iax )
virtual

No corresponding action in G4.

Geant3 desription:
==================
Flags volume CHNAME whose contents will have to be ordered along axis IAX, by setting the search flag to -IAX

  • IAX = 1 X axis
  • IAX = 2 Y axis
  • IAX = 3 Z axis
  • IAX = 4 Rxy (static ordering only -> GTMEDI)
  • IAX = 14 Rxy (also dynamic ordering -> GTNEXT)
  • IAX = 5 Rxyz (static ordering only -> GTMEDI)
  • IAX = 15 Rxyz (also dynamic ordering -> GTNEXT)
  • IAX = 6 PHI (PHI=0 => X axis)
  • IAX = 7 THETA (THETA=0 => Z axis)

Definition at line 538 of file TG4MCGeometry.cxx.

◆ Gspos()

void TG4MCGeometry::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 )
virtual

Position a volume into an existing one Not available without USE_G3TOG4 option.

Definition at line 585 of file TG4MCGeometry.cxx.

◆ Gsposp() [1/2]

void TG4MCGeometry::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

Place a copy of generic volume NAME with user number NR inside MOTHER, with its parameters UPAR(1..NP) Not available without USE_G3TOG4 option.

Definition at line 613 of file TG4MCGeometry.cxx.

Referenced by Gsposp().

◆ Gsposp() [2/2]

void TG4MCGeometry::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

Single precision interface.

Definition at line 626 of file TG4MCGeometry.cxx.

◆ Gsbool()

void TG4MCGeometry::Gsbool ( const char * onlyVolName,
const char * manyVolName )
virtual

Help for resolving MANY. Not available without USE_G3TOG4 option.

Definition at line 651 of file TG4MCGeometry.cxx.

◆ GetTransformation()

Bool_t TG4MCGeometry::GetTransformation ( const TString & volumePath,
TGeoHMatrix & matrix )
virtual

Return the transformation matrix between the volume specified by the path volumePath and the first volume in the path.

Definition at line 663 of file TG4MCGeometry.cxx.

◆ GetShape()

Bool_t TG4MCGeometry::GetShape ( const TString & volumePath,
TString & shapeType,
TArrayD & par )
virtual

Return the name of the shape and its parameters for the volume specified by the volume name.

Definition at line 721 of file TG4MCGeometry.cxx.

◆ GetMaterial()

Bool_t TG4MCGeometry::GetMaterial ( const TString & volumeName,
TString & name,
Int_t & imat,
Double_t & a,
Double_t & z,
Double_t & density,
Double_t & radl,
Double_t & inter,
TArrayD & par )
virtual

Return the material parameters for the volume specified by the volume name.

Definition at line 1011 of file TG4MCGeometry.cxx.

◆ GetMedium()

Bool_t TG4MCGeometry::GetMedium ( const TString & volumeName,
TString & name,
Int_t & imed,
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,
TArrayD & par )
virtual

Return the medium parameters for the volume specified by the volume name.

Definition at line 1046 of file TG4MCGeometry.cxx.

◆ MediumId()

Int_t TG4MCGeometry::MediumId ( const Text_t * mediumName) const
virtual

Return the medium id for medium with given name

Definition at line 1088 of file TG4MCGeometry.cxx.

◆ VolId()

Int_t TG4MCGeometry::VolId ( const Text_t * volName) const
virtual

Not implemented here - not used for geometry building

Definition at line 1109 of file TG4MCGeometry.cxx.

◆ VolName()

const char * TG4MCGeometry::VolName ( Int_t id) const
virtual

Not implemented here - not used for geometry building

Definition at line 1118 of file TG4MCGeometry.cxx.

◆ NofVolumes()

Int_t TG4MCGeometry::NofVolumes ( ) const
virtual

Not implemented here - not used for geometry building

Definition at line 1127 of file TG4MCGeometry.cxx.

◆ NofVolDaughters()

Int_t TG4MCGeometry::NofVolDaughters ( const char * volName) const
virtual

Not implemented here - not used for geometry building

Definition at line 1136 of file TG4MCGeometry.cxx.

◆ VolDaughterName()

const char * TG4MCGeometry::VolDaughterName ( const char * volName,
Int_t i ) const
virtual

Not implemented here - not used for geometry building

Definition at line 1145 of file TG4MCGeometry.cxx.

◆ VolDaughterCopyNo()

Int_t TG4MCGeometry::VolDaughterCopyNo ( const char * volName,
Int_t i ) const
virtual

Not implemented here - not used for geometry building

Definition at line 1155 of file TG4MCGeometry.cxx.

◆ VolId2Mate()

Int_t TG4MCGeometry::VolId2Mate ( Int_t id) const
virtual

Not implemented here - not used for geometry building

Definition at line 1166 of file TG4MCGeometry.cxx.

◆ operator=()

TG4MCGeometry & TG4MCGeometry::operator= ( const TG4MCGeometry & right)
private

Not implemented.

Member Data Documentation

◆ fGeometryServices

TG4GeometryServices* TG4MCGeometry::fGeometryServices
private

geometry services

Definition at line 141 of file TG4MCGeometry.h.

Referenced by GetMaterial(), GetMedium(), GetShape(), GetTransformation(), Gsposp(), Gsvolu(), Material(), Medium(), Mixture(), and TG4MCGeometry().

◆ fMaterialNameVector

TG4StringVector TG4MCGeometry::fMaterialNameVector
private

vector of material names sorted in the order of materials in G3Mat

Definition at line 144 of file TG4MCGeometry.h.


The documentation for this class was generated from the following files: