|Message: Re: Optical Photons: alternative ways of defining wrapping material?||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
Thank you for your thorough posting. I hope my reply will be helpful to you and to any other user who might want to compare the (only) two (possible) alternative ways of defining wrapping material in G4.
Your option 1) has one significant error. It should read:
OpAirSurface -> SetType(dielectric_dielectric);
The reason is and this test is extracted from the Application Developers Manual:
"One implementation of the G4OpBoundaryProcess class employs the UNIFIED model. It applies to dielectric-dielectric interfaces and tries to provide a realistic simulation, which deals with all aspects of surface finish and reflector coating.....In the case of a dielectric-metal interface, or when the GLISUR model is specified, the only surface finish options available are polished or ground."
One very important point about option 1) is (and this is again extracted from the manual):
"In case the surface is painted or wrapped (but not a cladding), the table may include the thin layer's index of refraction. This allows the simulation of boundary effects at the intersection between the medium and the surface layer, as well as the Lambertian reflection at the far side of the thin layer. .....The surface may be assumed as smooth and covered with a metallized coating representing a specular reflector with given reflection coefficient, or painted with a diffuse reflecting material where Lambertian reflection occurs."
The point I want to stress here is that the reflector is a "diffuse" (or Lambertian) reflector! There is no other choice. Therefore, in your option 2), if you want to compare directly with option 1) must must also specify your second surface as a diffuse reflector. Hence, your option 2) should read (I am just showing the lines that need changing or are needed in addition):
OpSciWrapSurface -> SetFinish(ground);
G4double polish = 0.0;
OpSciWrapSurface -> SetPolish(polish);
Please, let me know if your comparison now comes out much the same, either way, with those changes!
In option 1) it is NOT necessary to define the physical volumes of air and aluminum. You can just define the scintillator and the world volume without anything else, EXCEPT for a physical PMT volume has to touch the bottom of your scintillator. In the minimal case, you just need to give the PMT volume an index of refraction and then that surface will be simulated as perfectly polished. (Note, you'll need to then define your G4LogicalBorderSurface* AirSurface between sci_box_phys and world_phys).
In option 1) not only do you not have to define the physical volumes for the air gap and the wrapper (Al), you don't have to give them material properties. These volumes will not be seen in the simulation; e.g. the tracking only takes the MaterialPropertiesTable of the surface into account.
Hope this helps (and let me know your new result), Peter
|Inline Depth:||Outline Depth:||Add message:|