Conversation
|
This resolves #170 |
|
This will put an additional constraint on users ability to pick their own G4 version. See the discussion in JeffersonLab/qsim#2 A detail with the GetParticleIterator() method requires G4 version > 4.10.02, which may be more constrictive than we want at this time. |
| FatalException,o.str().c_str()); | ||
| } | ||
|
|
||
| if(theCerenkovProcess->IsApplicable(*particle)){ |
There was a problem hiding this comment.
These lines here are the ones to comment out if you want to turn off Cherenkov or Scintillation
|
Can someone outline the use case for this? What does remollUserOptical allow that wasn't already possible in G4OpticalPhysics? Based on Qweak experience I am very hesitant to start including user-composed physics lists.
Even if we wish to define our own optical physics, I would be much more comfortable with an inherit from G4OpticalPhysics than with a copy or reimplementation. |
|
@wdconinc, the use case is pretty much specifically for the blackening study that has been pending for the detector array since the MOLLER light guide paper was written. We would like to be able to turn cherenkov and scintillation processes on or off independently to see how significant the various backgrounds are in each detector ring's light guide and whether they can be reduced by putting a non-reflective layer in specific places (this is also what my pe.cc code is designed to help diagnose). The default optical physics list does match this user list's results (not exactly, but that's probably at the seed level), so keeping the non-user one as the default is probably best. In order to do this cherenkov and scintillation turn on/off you have to comment in/out the line (mentioned in the comment above) for it and recompile (this could probably be done with a macro command if we want to keep this functionality around). I was unaware of the Yes, I agree that this is strongly G4 version dependent (a problem qsim currently faces for the same reason), which is why I didn't merge the pull request. The processActivation macro command probably makes this new addition irrelevant. |
|
Of course, in addition to |
|
I tried to condense some of this at https://github.com/JeffersonLab/remoll/blob/develop/README.optical.md |
|
Proposal: close without merge, delete branch due to functionality in stock optical. |
This duplicates the already implemented "optical" list, but now the constituent processes are laid bare, allowing for the user to edit which optical processes are included. This is critical for performing blackening studies in the light guides and to determine the relative impact of scintillation vs. cherenkov.
I also ran some simple tests turning on and off cherenkov and scintillation in the user optical code, and compared also against the "optical" list to verify satisfactorily that these two lists are giving consistent results and that both scintillation and cherenkov have been included this whole time in the "optical" list.
This may still have the issue where parallel world can't be loaded at the same time (probably because these lists overwrite eachother, so that may require condensing all user lists into one class that allows multiple being turned on and off simultaneously - this UserOptical class will be a good groundwork to start from).