|Message: Re: can geant4 cosider optical processes and atomic relaxation simultaneously?||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)|
x-rays that are generated by G4 deexitation processes and fluorescence are not considered to be 'optical photons'. The are considered to be G4Gamma particles.
I have not done this - come to think of it - there is nothing that should prevent you from adding 'optical physics processes' to G4Gamma particles in Geant4; specifically the G4OpBoundaryProcess. Now, you have to provide the index of refraction of the media of your optical lenses in the energy range of the x-rays. Similarly, you have to provide 'optical absorption length' for your optical filter. Alternatively, I believe in your UserStackingAction, you may be able to change the particle type of the secondary track object from G4Gamma to G4OpticalPhoton, though that's not so easy because for:
ClassifyNewTrack(const G4Track* aTrack);
you are passed a const pointer.
The problem with my first suggestion is that the G4OpBoundaryProcess:
IsApplicable method needs to be modified to allow for a G4Gamma to have optical processes (and similarly for all the other Op-Processes that you may require). For that you'd need your own G4 source and library.
Another avenue that should work perhaps without any tricks of stripping const from a pointer and modifying the G4 source, is to device a new (user) process that has a zero range for x-rays and does nothing else but transform a G4Gamma to a G4OpticalPhoton. For that you have to learn how to add a user-process in G4:
|Inline Depth:||Outline Depth:||Add message:|