Oversized avalanches with DriftLineRKF


I’m having some issues with the simulation of a muon track signal in a drift chamber cell (similar to the one in my previous topic):

  • The cell structure is defined using the native geometry (in particular using SolidWire for wires) and the electric field is then computed with ComponentNeBem3d.
  • I use the DriftLineRKF class to simulate electron and ion drift and avalanches on the signal wire.

The “regular” electron avalanche size that I find is of 3*10^5 electrons and ions, which is consistent with the gain computation and corresponds to a signal plot of this type:

What I noticed is that in some runs, a small number of electrons (~3 out of all) have oversized avalanches with up to 10^10 particles produced, so the signal plots look like this:

When this happens I get these warning messages:

    Cannot retrieve alpha at drift line point x, segment y
    Warning: Integrating the Townsend coefficients would lead to exponential overflow.
    Avalanche truncated.

As I suspected I could be having issues in the avalanche simulation, I decided to output the avalanche parameters at each step of the computation in DriftLineRKF::Avalanche():

  • I’m printing the logp, alpsum, etasum and d parameters, from which the electron number is calculated (with exponent exp) and, for each step point, the distance r from the origin in the x-y plane and the electric field magnitude.
  • Once the drift and avalanche simulation ends, I’m printing the final r and arrival time te, the gain estimated with DriftLineRKF::GetGain(), the avalanche size (n_el, n_ion) and the electric field magnitude at the endpoint.

The output below is for a regular avalanche behaviour:

which seems sensible to me.

For the oversized avalanches the behaviour is different:

As my signal wire has a radius of 0.002 cm, the avalanche step seems to be getting inside the wire before moving back, at which point alpsum jumps by a factor of 10. This then leads to the oversized avalanches.

Is this the expected behaviour for the avalanche simulation? What could be a workaround apart from neglecting the oversized signals in that case?
Any feedback that you may have would be greatly appreciated.

I’m attaching the code and gas file below.
camera_signal_simu.cpp (8.3 KB)
ar_85_co2_15_1atm.txt.zip (7.3 KB)

Hello @AlRugger ,

let’s see if @hschindl can help here :slight_smile:


Sorry! Thanks for sending the program. I can reproduce the issue but didn’t have time yet to look into it (will try to do it asap).

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.