How to calculate nuclear stopping energy in gas

I am using Garfield++ TrackSrim to simulate the ionization produced by the Li-7 and alpha particles from the reaction in a gas-filled compensated ionization chamber.

The detector geometry contains a gas gap between electrodes. Some Li ions stop in the gas, while others reach the electrode before stopping.

For each track, I calculate the ionization energy deposited in the gas using:

for (const auto& cluster : clusters) {
    totalIonPairEnergyEv += cluster.energy;
}

As I understand it, cluster.energy corresponds to the energy used to produce electron-ion pairs (electronic stopping contribution).

I would also like to estimate:

  1. Nuclear stopping energy deposited in the gas

  2. Residual kinetic energy when the ion reaches the electrode

  3. Separation of:

    • electronic stopping loss

    • nuclear stopping loss

    • remaining kinetic energy at track termination

I tried using:

clusters.back().kinetic

assuming it represents the residual kinetic energy after the final cluster creation. However, this value is always nearly zero, even for tracks that visually terminate at the electrode before fully stopping. However, in reality, at least more than 10% of the energy does not deposit in the gas.
So my questions are:

1.Is there an official/recommended way in Garfield++ to obtain:

  • cumulative electronic stopping energy

  • cumulative nuclear stopping energy

  • residual kinetic energy at track termination?

2.Is it the residual energy of the ions that reach the surface of the electrode plate?

clusters.back().kinetic

Welcome to the ROOT forum!
Maybe @hschindl can help you with this question

Aaron

Also, I’d like to ask if Garfield has a function that can calculate the fraction of particle energy used for ionization versus non-ionization (excitation) about electronic stopping power.@hschindl

Hi @pedro, many thanks for your question.

  • To get the total (electronic + hadronic) energy loss over a step, you can calculate the difference in kinetic energy between two successive clusters. Note that the electronic energy loss will be randomised (unless you set the fluctuation model to 0), drawing from a Landau, Vavilov or Gaussian distribution, while for the hadronic contribution the average energy loss (stopping power integrated over the step length) is used.

  • To compute the electronic energy loss over a track, you could indeed add up the cluster energies, with a small caveat: since the number of electron-ion pairs has to be an integer, the energy spent on producing electron-ion pairs for a given cluster may be a bit less than the electronic energy loss over the step; this residual energy is then carried over to the next cluster. So on average I think the sum of cluster energies should be fairly close to the total electronic energy loss.

  • If a particle leaves the active medium before it has been absorbed, I would indeed expect the kinetic energy of the last cluster on the track to be non-zero. Need to check if there is a bug…

@hschindl Thank you, I have two questions about the physical interpretation of cluster energy variables:

  1. Does clusters.back().kinetic refer to the particle energy before or after the last cluster is generated? Is it necessary to subtract clusters.back().energy from this kinetic energy term?
  2. In the case where particles do not hit the electrode, the calculation clusters.back().kinetic - clusters.back().energy * 1e-6 still yields a residual energy of 5–12 keV. Is this residual energy caused by the simulation being unable to generate any additional clusters?