Necessary Maintenance #20029

SimpleBoundary() should be moved from DetectorProperties to LArProperties

Added by Gianluca Petrillo almost 3 years ago. Updated over 1 year ago.

Under Discussion
Target version:
Start date:
Due date:
% Done:


Estimated time:
Spent time:


The method SimpleBoundary() is used to decide whether to use the reflection simulation out of GEANT4 or if instead use a "simple boundary" simulation which includes a specular and a diffuse reflectivity part.
All the reflectivity parameters are stored in detinfo::LArProperties, but the SimpleBoundary() method is in detinfo::DetectorProperties.
The method should be moved to detinfo::LArProperties.


#1 Updated by Gianluca Petrillo almost 3 years ago

The standard way LArSoft used to approach this type of migrations is two-steps:

  1. deal with the originating ticket (this one):
    • announce the coming change and deprecation at the LArSoft coordination meeting
    • copy the method in the new position
    • modify the method in the old position to refer to the new one (when possible), and decorate the former as [[deprecated]]
    • create a ticket following this one by one month or so, whose resolution will consist in removing the deprecated method
    • mark the original issue (this one) as resolved
  2. after the established time, deal with the second ticket, either:
    • ask permission:
      • announce in the LArSoft coordination meeting that with the next version the deprecated method will be removed, and ask for objections
      • eventually remove the deprecated method in the next release
    • ask forgiveness:
      • remove the deprecated method in the next release
      • announce the breaking change in the next LArSoft coordination meeting

#2 Updated by Kyle Knoepfel almost 3 years ago

  • Tracker changed from Bug to Necessary Maintenance
  • Occurs In deleted (v06_78_00)

#3 Updated by Kyle Knoepfel almost 3 years ago

This proposal requires discussion and may be influenced by the LArG4 refactoring.

#4 Updated by Kyle Knoepfel almost 3 years ago

  • Status changed from New to Under Discussion

#5 Updated by Hans-Joachim Wenzel over 2 years ago

I think the change is not necessary. In the refactored larg4 module all the optical processes including reflection are handled by the Geant4 optical processes. In the new scheme the properties of reflective surfaces are described in the gdml file (currently there are only 2 materials for which this is relevant). We just have to find the find the geant4 process and settings which closests represent the simple boundary process and add it to the gdml file.

#6 Updated by Gianluca Petrillo over 1 year ago

I am not the expert of this simulation, but my understanding is that SimpleBoundary() is the handle for an option.
Are you suggesting that this option should be controlled in the GDML detector geometry description file, and that therefore an experiment has to hard-code and stick to one option?

Also available in: Atom PDF