Created attachment 740 [details] macro can be used with example TestEm5 I'm using the attached macro with example TestEm5. Shooting 100 keV gammas on Cu should create several characteristic Cu x-rays. The x-ray line with the largest emission probability seems to be 8.01 keV in Geant4 (In other databases it is 8.05 keV [1,2]). In Cu 8.01 keV corresponds to a range of about 119 um for gammas in Geant4. If the production cut is set to 118 um, the x-rays are produced. If the production cut is set to 120 um, no x-rays are produced. If the command "/process/em/deexcitationIgnoreCut true" is used, x-rays are produced independently of the production cut. From what I read in the documentation [3], I would have expected that x-rays near the boundary are produced independently of the production cut when the range of the x-rays is smaller than the safety. This note [4] describes the same behaviour for delta-rays. Figure 3 in [4] shows what I would expect from the description in the documentation. However, the safety is either not calculated correctly or not taken into account as x-rays near the boundary are not produced. In the attached macro the Cu volume is only 100 um, i.e. x-rays produced inside this volume would always have a range larger than the safety. But with a production cut of 120 um they are not produced anywhere in the Cu. 1 - https://physics.nist.gov/cgi-bin/XrayTrans/search.pl?element=Cu&trans=All&lower=&upper=&units=eV 2 - http://nucleardata.nuclear.lu.se/toi/xray.asp?act=list&el=Cu 3 - https://geant4-userdoc.web.cern.ch/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/thresholdVScut.html#apply-cut 4 - https://geant4.web.cern.ch/sites/geant4.web.cern.ch/files/geant4/collaboration/working_groups/electromagnetic/gallery/elossPlus/ElossPlus.html
Hello, Your interpretation of manual is not precise (or the manual is not written in a clear way). Production threshold for gamma is computed using some approximated formula, which takes into account all gamma processes and multiplied by factor 5. It is a numerical coincidence coincidence that cut 120 um prevent simulation of 8.01 line. So-called sub-cut mechanism was applied only to delta-electron and bremsstrahlung gamma. These mechanism was not applied by default but only by request. It was never used in the atomic de-excitation module. A good alternative is "/process/em/deexcitationIgnoreCut true" as you mention. In the new Geant4 release 11.0 sub-cut mechanism will be removed. The reason: tracking become complicate and no real advantage for CPU speed. We think that it is possible to achieve desired space resolution without this mechanism. Concerning energy of atomic levels and transition energies - this is a complicated issue, which we are trying to address. In previous releases we had an alternative transitions, which may be enabled via UI command: "/process/em/fluoBearden true" In the new 11.0 an extra option will be available: "/process/em/fluoANSTO true" VI
Thanks for your answer. I'm a bit confused here. The sub-cut mechanism you describe seems to be a different feature than the ApplyCut I read about in the documentation. From the descriptions, the sub-cut can be used to change the production cut for a certain region and process such as eloss. However, the ApplyCut compares the range of each secondary with the production cut and the safety. If a secondary has the potential to cross a boundary, it should be created even if its range is below the production cut. The documentation makes no exceptions for any kind of secondary particles. This seems to intend that the feature should work for all particles, including x-rays. Do I interpret that correctly? There is also a statement in the documentation, which says "Note, that for electromagnetic processes for gamma incident a specific ApplyCut option is used which guarantees energy balance and is more efficient because secondary tracks are not produced at all." This is confusing me even more. Does this mean, that for incident gammas, the safety is not taken into account? Or is the production cut not considered at all and secondaries from incident gammas are never produced if ApplyCut is ON? None of that makes sense to me.
Hello, safety never used to decide if a secondary particles should be produced or not. In a given region only cuts/production thresholds are used by default. This does not exclude a possibility of user defined extra limiter process, which potentially may kill unwanted particles using safety. VI
This problem was discussed enough. I would agree that documentation not always ideal and should be updated. At the same time, there is no bug to be fixed.