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

Geant4 implementation of the TVirtualMC interface methods for definition of material properties for optical processes. More...

#include <TG4OpGeometryManager.h>

Inheritance diagram for TG4OpGeometryManager:

Public Member Functions

 TG4OpGeometryManager ()
 
virtual ~TG4OpGeometryManager ()
 
virtual void SetCerenkov (Int_t itmed, Int_t npckov, Float_t *ppckov, Float_t *absco, Float_t *effic, Float_t *rindex, Bool_t aspline, Bool_t rspline)
 
virtual void SetCerenkov (Int_t itmed, Int_t npckov, Double_t *ppckov, Double_t *absco, Double_t *effic, Double_t *rindex, Bool_t aspline, Bool_t rspline)
 
virtual void DefineOpSurface (const char *name, EMCOpSurfaceModel model, EMCOpSurfaceType surfaceType, EMCOpSurfaceFinish surfaceFinish, Double_t sigmaAlpha)
 
virtual void SetBorderSurface (const char *name, const char *vol1Name, int vol1CopyNo, const char *vol2Name, int vol2CopyNo, const char *opSurfaceName)
 
virtual void SetSkinSurface (const char *name, const char *volName, const char *opSurfaceName)
 
virtual void SetMaterialProperty (Int_t itmed, const char *propertyName, Int_t np, Double_t *pp, Double_t *values, Bool_t createNewKey, Bool_t spline)
 
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, Bool_t createNewKey, Bool_t spline)
 
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 Bool_t GetMaterial (Int_t imat, TString &name, Double_t &a, Double_t &z, Double_t &density, Double_t &radl, Double_t &inter, TArrayD &par)
 
- 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

 TG4OpGeometryManager (const TG4OpGeometryManager &right)
 Not implemented.
 
TG4OpGeometryManageroperator= (const TG4OpGeometryManager &right)
 Not implemented.
 
Double_t AddUnit (const G4String &propertyName, Double_t value) const
 

Private Attributes

TG4GeometryServicesfGeometryServices
 geometry services
 
TG4OpSurfaceMapfOpSurfaceMap
 map of optical surfaces names to their objects
 

Detailed Description

Geant4 implementation of the TVirtualMC interface methods for definition of material properties for optical processes.

Author
I. Hrivnacova; IPN, Orsay

Definition at line 39 of file TG4OpGeometryManager.h.

Constructor & Destructor Documentation

◆ TG4OpGeometryManager() [1/2]

TG4OpGeometryManager::TG4OpGeometryManager ( )

Default constructor

Definition at line 54 of file TG4OpGeometryManager.cxx.

◆ ~TG4OpGeometryManager()

TG4OpGeometryManager::~TG4OpGeometryManager ( )
virtual

Destructor

Definition at line 68 of file TG4OpGeometryManager.cxx.

◆ TG4OpGeometryManager() [2/2]

TG4OpGeometryManager::TG4OpGeometryManager ( const TG4OpGeometryManager & right)
private

Not implemented.

Member Function Documentation

◆ SetCerenkov() [1/2]

void TG4OpGeometryManager::SetCerenkov ( Int_t itmed,
Int_t npckov,
Float_t * ppckov,
Float_t * absco,
Float_t * effic,
Float_t * rindex,
Bool_t aspline,
Bool_t rspline )
virtual

Geant3 desription:

Stores the tables for UV photon tracking in medium ITMED Please note that it is the user's responsability to provide all the coefficients:

  • ITMED Tracking medium number
  • NPCKOV Number of bins of each table
  • PPCKOV Value of photon momentum (in GeV)
  • ABSCO Absorbtion coefficients dielectric: absorbtion length in cm metals : absorbtion fraction (0<=x<=1)
  • EFFIC Detection efficiency for UV photons
  • RINDEX Refraction index (if=0 metal)

Definition at line 189 of file TG4OpGeometryManager.cxx.

Referenced by SetCerenkov(), TGeant4::SetCerenkov(), and TGeant4::SetCerenkov().

◆ SetCerenkov() [2/2]

void TG4OpGeometryManager::SetCerenkov ( Int_t itmed,
Int_t npckov,
Double_t * ppckov,
Double_t * absco,
Double_t * effic,
Double_t * rindex,
Bool_t aspline,
Bool_t rspline )
virtual

Geant3 desription:

Stores the tables for UV photon tracking in medium ITMED Please note that it is the user's responsability to provide all the coefficients:

  • ITMED Tracking medium number
  • NPCKOV Number of bins of each table
  • PPCKOV Value of photon momentum (in GeV)
  • ABSCO Absorbtion coefficients dielectric: absorbtion length in cm metals : absorbtion fraction (0<=x<=1)
  • EFFIC Detection efficiency for UV photons
  • RINDEX Refraction index (if=0 metal)

Definition at line 226 of file TG4OpGeometryManager.cxx.

◆ DefineOpSurface()

void TG4OpGeometryManager::DefineOpSurface ( const char * name,
EMCOpSurfaceModel model,
EMCOpSurfaceType surfaceType,
EMCOpSurfaceFinish surfaceFinish,
Double_t sigmaAlpha )
virtual

Define the optical surface

Definition at line 306 of file TG4OpGeometryManager.cxx.

Referenced by TGeant4::DefineOpSurface().

◆ SetBorderSurface()

void TG4OpGeometryManager::SetBorderSurface ( const char * name,
const char * vol1Name,
int vol1CopyNo,
const char * vol2Name,
int vol2CopyNo,
const char * opSurfaceName )
virtual

Define the optical border surface

Definition at line 323 of file TG4OpGeometryManager.cxx.

Referenced by TGeant4::SetBorderSurface().

◆ SetSkinSurface()

void TG4OpGeometryManager::SetSkinSurface ( const char * name,
const char * volName,
const char * opSurfaceName )
virtual

Define the optical skin surface

Definition at line 360 of file TG4OpGeometryManager.cxx.

Referenced by TGeant4::SetSkinSurface().

◆ SetMaterialProperty() [1/3]

void TG4OpGeometryManager::SetMaterialProperty ( Int_t itmed,
const char * propertyName,
Int_t np,
Double_t * pp,
Double_t * values,
Bool_t createNewKey,
Bool_t spline )
virtual

Set the material property specified by propertyName to the tracking medium

Definition at line 388 of file TG4OpGeometryManager.cxx.

Referenced by TGeant4::SetMaterialProperty(), TGeant4::SetMaterialProperty(), and TGeant4::SetMaterialProperty().

◆ SetMaterialProperty() [2/3]

void TG4OpGeometryManager::SetMaterialProperty ( Int_t itmed,
const char * propertyName,
Double_t value )
virtual

Set the material property specified by propertyName to the tracking medium

Definition at line 434 of file TG4OpGeometryManager.cxx.

◆ SetMaterialProperty() [3/3]

void TG4OpGeometryManager::SetMaterialProperty ( const char * surfaceName,
const char * propertyName,
Int_t np,
Double_t * pp,
Double_t * values,
Bool_t createNewKey,
Bool_t spline )
virtual

Set the material property specified by propertyName to the optical surface

Definition at line 478 of file TG4OpGeometryManager.cxx.

◆ Gfmate() [1/2]

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

Return parameters for material specified by material number imat

Definition at line 522 of file TG4OpGeometryManager.cxx.

Referenced by Gfmate(), TGeant4::Gfmate(), and TGeant4::Gfmate().

◆ Gfmate() [2/2]

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

Return parameters for material specified by material number imat

Definition at line 541 of file TG4OpGeometryManager.cxx.

◆ GetMaterial()

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

Return parameters for material specified by material number imat (new function)

Definition at line 577 of file TG4OpGeometryManager.cxx.

Referenced by TGeant4::GetMaterial().

◆ operator=()

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

Not implemented.

◆ AddUnit()

Double_t TG4OpGeometryManager::AddUnit ( const G4String & propertyName,
Double_t value ) const
private

Add unit to a given property value and print a warning if the property is not known to the VMC interface. The properties are ordered as they appear in Geant4 Book For Applcation Developers (Geant4 v11.0)

Definition at line 78 of file TG4OpGeometryManager.cxx.

Referenced by SetMaterialProperty(), SetMaterialProperty(), and SetMaterialProperty().

Member Data Documentation

◆ fGeometryServices

◆ fOpSurfaceMap

TG4OpSurfaceMap* TG4OpGeometryManager::fOpSurfaceMap
private

map of optical surfaces names to their objects

Definition at line 98 of file TG4OpGeometryManager.h.

Referenced by SetBorderSurface(), SetMaterialProperty(), SetSkinSurface(), and TG4OpGeometryManager().


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