1#ifndef TG4_OP_GEOMETRY_MANAGER_H
2#define TG4_OP_GEOMETRY_MANAGER_H
26#include <TMCOptical.h>
27#include <TVirtualMCGeometry.h>
31class G4OpticalSurface;
47 virtual void SetCerenkov(Int_t itmed, Int_t npckov, Float_t* ppckov,
48 Float_t* absco, Float_t* effic, Float_t* rindex, Bool_t aspline,
50 virtual void SetCerenkov(Int_t itmed, Int_t npckov, Double_t* ppckov,
51 Double_t* absco, Double_t* effic, Double_t* rindex, Bool_t aspline,
55 EMCOpSurfaceType surfaceType, EMCOpSurfaceFinish surfaceFinish,
58 int vol1CopyNo,
const char* vol2Name,
int vol2CopyNo,
59 const char* opSurfaceName);
61 const char* name,
const char* volName,
const char* opSurfaceName);
63 Int_t np, Double_t* pp, Double_t* values, Bool_t createNewKey,
66 Int_t itmed,
const char* propertyName, Double_t value);
68 const char* propertyName, Int_t np, Double_t* pp, Double_t* values,
69 Bool_t createNewKey, Bool_t spline);
73 virtual void Gfmate(Int_t imat,
char* name, Float_t& a, Float_t& z,
74 Float_t& dens, Float_t& radl, Float_t& absl, Float_t* ubuf, Int_t& nbuf);
75 virtual void Gfmate(Int_t imat,
char* name, Double_t& a, Double_t& z,
76 Double_t& dens, Double_t& radl, Double_t& absl, Double_t* ubuf,
78 virtual Bool_t
GetMaterial(Int_t imat, TString& name, Double_t& a,
79 Double_t& z, Double_t& density, Double_t& radl, Double_t& inter,
89 Double_t
AddUnit(
const G4String& propertyName, Double_t value)
const;
Definition of the TG4Globals class and basic container types.
Definition of the TG4IntMap class.
Definition of the TG4OpSurfaceMap typedef.
Definition of the TG4Verbose class.
Services for accessing to Geant4 geometry.
Geant4 implementation of the TVirtualMC interface methods for definition of material properties for o...
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 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)
TG4OpGeometryManager(const TG4OpGeometryManager &right)
Not implemented.
TG4OpSurfaceMap * fOpSurfaceMap
map of optical surfaces names to their objects
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 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 SetSkinSurface(const char *name, const char *volName, const char *opSurfaceName)
TG4GeometryServices * fGeometryServices
geometry services
Double_t AddUnit(const G4String &propertyName, Double_t value) const
TG4OpGeometryManager & operator=(const TG4OpGeometryManager &right)
Not implemented.
virtual void SetBorderSurface(const char *name, const char *vol1Name, int vol1CopyNo, const char *vol2Name, int vol2CopyNo, const char *opSurfaceName)
virtual ~TG4OpGeometryManager()
virtual void DefineOpSurface(const char *name, EMCOpSurfaceModel model, EMCOpSurfaceType surfaceType, EMCOpSurfaceFinish surfaceFinish, Double_t sigmaAlpha)
Base class for defining the verbose level and a common messenger.
std::map< G4String, G4OpticalSurface * > TG4OpSurfaceMap
The map between optical surfaces names and their objects.