|Message: Adding Optical Photons to Physics List||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)|
I'm new to the idea of Modular Physics Lists. The last time I used GEANT, you simply added every process piece-meal as necessary. However, since these seem to be the wave of the future, I'm attempting to update my methods.
For this new project, I'm attempting to simulate scintillation detection of neutrons in various energy ranges. As I understand it, that means I should start with a Hadronic Physics List (FTFP_BERT_HP) and then Register the other various processes of interest. I've done this in the attached file (the main loop), with this being the relevant portion of the code:
#include "FTFP_BERT_HP.hh" #include "G4EmStandardPhysics.hh" #include "G4OpticalPhysics.hh" #include "G4DecayPhysics.hh"
// Run manager // G4RunManager* runManager = new G4RunManager;
// Module Physics List (In use if no User List Required) // G4VModularPhysicsList* physicsList = new FTFP_BERT_HP; physicsList->RegisterPhysics(new G4EmStandardPhysics(ver)); physicsList->RegisterPhysics(new G4OpticalPhysics(ver)); physicsList->RegisterPhysics(new G4DecayPhysics(ver)); runManager->SetUserInitialization(physicsList);
This seems to be working correctly. However, I wanted to double check that this method of including the OpticalPhysics is correct and I'm not somehow short changing my simulation. I then define in my "DetectorConstruction.cc" things like AbsorptionLength, ScintillationYield, etc on a "per material" basis.
If all of this is okay, the other question I have is: How does one make the optical photon tracking a quiet process? Currently, any time an optical photon is being tracked I get a message every time it meets a boundary that looks like:
Photon at Boundary! thePrePV: airGapS1 thePostPV: scint1 *** StepTooSmall *** Photon at Boundary! thePrePV: scint1 thePostPV: airGapS1 Old Momentum Direction: (-0.495126,-0.720858,-0.484988) Old Polarization: (0.865526,-0.360677,-0.347529) New Momentum Direction: (-0.495126,0.720858,-0.484988) New Polarization: (-0.865526,-0.360677,0.347529) *** TotalInternalReflection ***
This is nice for debug, but significantly slows down my runtime. I can't find it in any of my user defined Actions, so I'm not sure where it's coming from.
|Inline Depth:||Outline Depth:||Add message:|