Photoelectron not tracked

Hello,

I am working with photoelectric processes. I am sending gamma of 500 eV on a cathode. When I activate the tracking verbosity, I see a photoelectron is generated (see below). However, this electron is not tracked in the geometry. I understand it has a very low energy and so I tried to change the cut values but it did not change anything.
I have activated the most complete physics list even if I do not need neutrons:
G4VModularPhysicsList* physicsList = factory.GetReferencePhysList("FTFP_BERT_HP_EMZ");

Any idea of what I should change to track this electron ?

G4WT0 >  **PostStepDoIt (after all invocations):
G4WT0 >     ++List of invoked processes
G4WT0 >       1) Transportation (Forced)
G4WT0 >       2) GammaGeneralProc
G4WT0 >
G4WT0 >     ++G4Step Information
G4WT0 >       Address of G4Track    : 0x7f5cfd4b0550
G4WT0 >       Step Length (mm)      : 4.315738983160784e-05
G4WT0 >       Energy Deposit (MeV)  : 3.419e-05
G4WT0 >       -----------------------------------------------------------------------
G4WT0 >         StepPoint Information               PreStep            PostStep
G4WT0 >       -----------------------------------------------------------------------
G4WT0 >          Position - x (mm)   :                    0                   0
G4WT0 >          Position - y (mm)   :                    0                   0
G4WT0 >          Position - z (mm)   :            -7199.555   -7199.55504315739
G4WT0 >          Global Time (ns)    :    24.01513049404332   24.01513063800087
G4WT0 >          Local Time (ns)     :    24.01513049404332   24.01513063800087
G4WT0 >          Proper Time (ns)    :                    0                   0
G4WT0 >          Momentum Direct - x :                    0                   0
G4WT0 >          Momentum Direct - y :                    0                   0
G4WT0 >          Momentum Direct - z :                   -1                  -1
G4WT0 >          Momentum - x (MeV/c):                    0                   0
G4WT0 >          Momentum - y (MeV/c):                    0                   0
G4WT0 >          Momentum - z (MeV/c):              -0.0005                  -0
G4WT0 >          Total Energy (MeV)  :               0.0005                   0
G4WT0 >          Kinetic Energy (MeV):               0.0005                   0
G4WT0 >          Velocity (mm/ns)    :           299.792458                   0
G4WT0 >          Volume Name         :         CatTop2             CatTop2
G4WT0 >          Safety (mm)         :                5e-10               5e-10
G4WT0 >          Polarization - x    :                    0                   0
G4WT0 >          Polarization - y    :                    0                   0
G4WT0 >          Polarization - Z    :                    0                   0
G4WT0 >          Weight              :                    1                   1
G4WT0 >          Step Status         :           Geom Limit       PostStep Proc
G4WT0 >          Process defined Step:       Transportation                **phot**
G4WT0 >       -----------------------------------------------------------------------
G4WT0 >
G4WT0 >     ++List of secondaries generated (x,y,z,kE,t,PID):  No. of secodaries = 2
G4WT0 >       [Note]Secondaries from AlongStepDoIt included.
G4WT0 >               0         0  -7199.56  0.000452   24.0151                 e-
G4WT0 >               0         0  -7199.56 1.381e-05   24.0151                 e-

Hi, I suggest you use either Livermore or Penelope EM constructor and
you lower the low energy limits of the models as follows:
/cuts/setLowEdge 250 eV (for livermore or 100 eV for PENELOPE)

Thank you for your prompt response.
Unfortunately, that was not enough.
Here is what I did:
In my main.cc:

   G4PhysListFactory factory;
    G4VModularPhysicsList* physicsList = factory.GetReferencePhysList("FTFP_BERT_PEN");
    runManager->SetUserInitialization(physicsList);

In the .mac file, before /run/initialize:
/cuts/setLowEdge 250 eV

Still, the e- is not generated

G4WT0 >     :----- List of 2ndaries - #SpawnInStep=  1(Rest= 0,Along= 0,Post= 1), #SpawnTotal=  1 ---------------
G4WT0 >     :      0 fm      0 fm   -7.2 m     500 eV         e-
G4WT0 >     :----------------------------------------------------------------- EndOf2ndaries Info ---------------
1 event has been kept for refreshing and/or reviewing.

I tried to generate a primary electron of 150 eV and it was tracked. I believe the issue comes from the photoelectric process in particular.

Did you fix the cut? which is its value?

Indeed you are right, the cut is not well applied. See below, it is applied only for air and vacuum (see below). I will try to change the cut of a specific material


Index : 0     used in the geometry : Yes
 Material : G4_AIR
 Range cuts        :  gamma  700 um     e-  700 um     e+  700 um  proton 700 um 
 Energy thresholds :  gamma  250 eV     e-  250 eV     e+  250 eV  proton 70 keV
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

Index : 1     used in the geometry : Yes
 Material : G4_Galactic
 Range cuts        :  gamma  700 um     e-  700 um     e+  700 um  proton 700 um 
 Energy thresholds :  gamma  250 eV     e-  250 eV     e+  250 eV  proton 70 keV
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

Index : 2     used in the geometry : Yes
 Material : G4_Pu
 Range cuts        :  gamma  700 um     e-  700 um     e+  700 um  proton 700 um 
 Energy thresholds :  gamma  117.646 keV    e-  1.58252 MeV    e+  1.47438 MeV proton 70 keV
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

Index : 3     used in the geometry : Yes
 Material : G4_STAINLESS-STEEL
 Range cuts        :  gamma  700 um     e-  700 um     e+  700 um  proton 700 um 
 Energy thresholds :  gamma  17.3038 keV    e-  968.298 keV    e+  919.289 keV proton 70 keV
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

Index : 4     used in the geometry : Yes
 Material : G4_Au
 Range cuts        :  gamma  700 um     e-  700 um     e+  700 um  proton 700 um 
 Energy thresholds :  gamma  103.043 keV    e-  1.63373 MeV    e+  1.52391 MeV proton 70 keV
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

Index : 6     used in the geometry : Yes
 Material : G4_Cu
 Range cuts        :  gamma  700 um     e-  700 um     e+  700 um  proton 700 um 
 Energy thresholds :  gamma  20.5455 keV    e-  1.03405 MeV    e+  979.85 keV proton 70 keV
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

Index : 7     used in the geometry : Yes
 Material : G4_Nb
 Range cuts        :  gamma  700 um     e-  700 um     e+  700 um  proton 700 um 
 Energy thresholds :  gamma  30.878 keV    e-  937.621 keV    e+  887.839 keV proton 70 keV
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

The energy of the photoelectron is lower that the cut (in energy) of the electrons.
This happens because the default cut value of 0.7 mm is adopted. I suggest to lower the cut so that the electrons are generated with the lowest possible energy… let’s say 10 nm…

I have done it, it seems it is working for the cuts values (see below).
But the secondary e- is still not tracked.


G4WT0 >     :----- List of 2ndaries - #SpawnInStep=  1(Rest= 0,Along= 0,Post= 1), #SpawnTotal=  1 ---------------
G4WT0 >     :      0 fm      0 fm   -7.2 m     500 eV         e-
G4WT0 >     :----------------------------------------------------------------- EndOf2ndaries Info ---------------
1 event has been kept for refreshing and/or reviewing.
  "/vis/reviewKeptEvents" to review one by one.
  To see accumulated, "/vis/enable", then "/vis/viewer/flush" or "/vis/viewer/rebuild".
========= Table of registered couples ============================

Index : 0     used in the geometry : Yes
 Material : G4_AIR
 Range cuts        :  gamma  10 nm     e-  10 nm     e+  10 nm  proton 10 nm 
 Energy thresholds :  gamma  250 eV     e-  250 eV     e+  250 eV  proton 1 eV 
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

Index : 1     used in the geometry : Yes
 Material : G4_Galactic
 Range cuts        :  gamma  10 nm     e-  10 nm     e+  10 nm  proton 10 nm 
 Energy thresholds :  gamma  250 eV     e-  250 eV     e+  250 eV  proton 1 eV 
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

Index : 2     used in the geometry : Yes
 Material : G4_Pu
 Range cuts        :  gamma  10 nm     e-  10 nm     e+  10 nm  proton 10 nm 
 Energy thresholds :  gamma  250 eV     e-  250 eV     e+  250 eV  proton 1 eV 
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

Index : 3     used in the geometry : Yes
 Material : G4_STAINLESS-STEEL
 Range cuts        :  gamma  10 nm     e-  10 nm     e+  10 nm  proton 10 nm 
 Energy thresholds :  gamma  250 eV     e-  250 eV     e+  250 eV  proton 1 eV 
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

Index : 4     used in the geometry : Yes
 Material : G4_Au
 Range cuts        :  gamma  10 nm     e-  10 nm     e+  10 nm  proton 10 nm 
 Energy thresholds :  gamma  250 eV     e-  250 eV     e+  250 eV  proton 1 eV 
 Region(s) which use this couple : 
    DefaultRegionForTheWorld


Index : 6     used in the geometry : Yes
 Material : G4_Cu
 Range cuts        :  gamma  10 nm     e-  10 nm     e+  10 nm  proton 10 nm 
 Energy thresholds :  gamma  250 eV     e-  250 eV     e+  250 eV  proton 1 eV 
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

Index : 7     used in the geometry : Yes
 Material : G4_Nb
 Range cuts        :  gamma  10 nm     e-  10 nm     e+  10 nm  proton 10 nm 
 Energy thresholds :  gamma  250 eV     e-  250 eV     e+  250 eV  proton 1 eV 
 Region(s) which use this couple : 
    DefaultRegionForTheWorld

Hello,

cut in range, which defines production threshold is used normally only by ionisation process and suppress delta-electron production. It does not stop tracking of e- and it is not used by photoelectric process if “ApplyCuts” option is not enabled.

All charged particles are stopped by tracking cut, which by default is 1 keV. This value may be whatever, it is possible to set it to smaller value or even to zero:

process/em//lowestElectronEnergy 10 eV

For detailed simulation of very low-energy electron transport below 1 keV is not very accurate, especially for heavy media. Our best recommendation: use EMZ option of electromagnetic physics. It is also possible to use LIV and PEN variants but EMZ always better.

VI

Thanks for your response.
I tried using EMZ and /process/em//lowestElectronEnergy 1 eV.
I still reach the same results.
I agree that I am trying to track the electron in a heavy material and that it would be killed fast after its birth.
However, I send a gamma on a cathode that is having a strong electric field. Hence, I expect that the energy of the electron generated by photonuclear effect is accelerated after its birth. But there is no step created. I can’t even see a transportation process nor a initstep process for the electron. It just never appears in the geometry.

So, I tried the different suggestions you provided and the electron is not tracked after a “phot” process. However, if I generate the electron with the same parameters than after the photoelectric interraction from the PrimaryGeneratorAction, it is then tracked. Is there a parameter to activate in the photoelectric interraction to actually track the photoelectron?