Problem 1947 - Patch to allow setting material properties table for optical surfaces in GDML
Summary: Patch to allow setting material properties table for optical surfaces in GDML
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: persistency/gdml (show other problems)
Version: 10.3
Hardware: All All
: P4 enhancement
Assignee: Witold.Pokorski
URL:
Depends on:
Blocks:
 
Reported: 2017-03-08 23:07 CET by Wouter Deconinck
Modified: 2017-07-20 13:52 CEST (History)
0 users

See Also:


Attachments
Patch to be applied relative to geant4.10.03/.. (obtained by diff between two geant4.10.03 trees) (9.86 KB, patch)
2017-03-08 23:07 CET, Wouter Deconinck
Details | Diff

Note You need to log in before you can comment on or make changes to this problem.
Description Wouter Deconinck 2017-03-08 23:07:11 CET
Created attachment 444 [details]
Patch to be applied relative to geant4.10.03/.. (obtained by diff between two geant4.10.03 trees)

In geant4.10.3 it is not possible to specify material properties tables for optical surfaces in GDML. This restricts the users from implementing, among others, the optical surface properties REFLECTIVITY, EFFICIENCY, etc (see http://geant4.cern.ch/G4UsersDocuments/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/physicsProcess.html#5.2.5.4, source listings 5.2.9 and 5.2.10 for more examples).

The attached path against geant4.10.3 introduces the reading of the tags such as <property name="REFELCTIVITY" ref="REFLECTIVITY_CATHODE"/> as children of the <opticalsurface> tag.

The following GDML code is then possible:
  <opticalsurface
    name="pionDetectorLucite_LightGuideInside_to_PMT_opticalsurface"
    model="glisur" finish="polished" type="dielectric_metal" value="1.0">
    <property name="REFLECTIVITY" ref="REFLECTIVITY_CATHODE"/>
    <property name="EFFICIENCY"   ref="EFFICIENCY_CATHODE"/>
  </opticalsurface> 

To be completed:
- I don't have a background in how xml schemas are to be written, so I didn't attempt to apply the necessary changes to source/persistency/gdml/schema/gdml_solids.xsd. This patch will therefore throw validation errors. I suspect either gdml_materials.xsd should be included or the material properties table tag should be copied over from gdml_materials.xsd into gdml_solids.xsd.
Comment 1 Witold.Pokorski 2017-03-23 11:07:17 CET
Thanks Wouter for this patch. I have applied it to the Geant4 tree.
I haven't modified the schema yet, so this remains on the todo list.
Cheers,
Witek
Comment 2 Gabriele Cosmo 2017-07-20 13:52:51 CEST
Fixed in release 10.4-beta.