|Re: ConstructOpGeometry function [message #11625 is a reply to message #11495]
||Thu, 07 April 2011 15:50
Registered: April 2010
In case somebody would be interested.|
To define a POLISHED surface in VirtualMonteCarlo it is enough to do the following (for descriptions of functions see TVirtualMC class reference):
1. Define a surface:
gMC->DefineOpSurface("EVSurface", kGlisur, kDielectric_metal, kPolished, 0.0);
for a polished surface it does not matter which model to use (Glisur or Unified)
I used "dielectric - metal" surface to be able only to reflect or absorb the optical photons (no Frensel refraction and reflection)
parameter SigmaAlpha = 0.0 in my case and you can set any value for Polished surface here, the SigmaAlpha value matters only for Ground (not Polished) surfaces within Unified model
2. Set defined surface between chosen volumes:
gMC->SetBorderSurface("EVAirSurface", "DrcEV", 1, "BarrelDIRC", 0, "EVSurface");
here instead of "SetBorderSurface" one can use "SetSkinSurface". The difference: in skin surface the volume is fully covered with defined surface; in the border surface user can choose the order of volumes and allow different properties depending from which direction the photon has arrived. So in my case I define the surface for photons going from DrcEV to BarrelDIRC.
3. Set properties of the surface:
Int_t npoints = 2;
ephoton = 1.0e-09;
ephoton = 10.0e-09;
reflectivity = 1.;
reflectovoty = 1.;
gMC->SetMaterialProperty("EVSurface", "REFLECTIVITY", npoints, ephoton, reflectivity);
You can also define other properties if you have to detect photons (EFFICIENCY) or a Ground (not Polished) surface.
Names of the properties should be the same as in Geant4.
And now the questions I still have:
1. Is it possible to use Glisur model with Ground surface in VMC? The thing is that the roughness of the surface in this case is set by the value of polish (SetPolish function in Geant4), but I did not find any functions in VMC that set the value of polish.
2. Using Unified model with different SigmaAlpha values I get exactly the same results (SigmaAlpa = 0.000001 or SigmaAlpha = 10.).
As an illustration I attach 2 snapshots of eventDisplay where photons bounce inside of a bar covered with the following BorderSurfaces:
first picture: Polished dielectric-metal surface, reflectivity = 1 for photons with e = [1,10] eV
second picture: Ground dielectric-metal surface, Unified model, SigmaAlpha = 0.0000001 (and the same picture for other values of SigmaAlpha), reflectivity = 1 for photons with e = [1,10] eV