Can Garfield++ drift negative ions?

If the gas composition are set as (gas.SetComposition(“Ar”, 0.94, “CO2”, 0.03, “N2”, 78.1,“O2”,20.93);
The emitted alpha particles interact with air molecules to produce ionization electrons, most of which will be attached to electronegative molecules (such as oxygen molecules) during their drift.then Garfield + + stops tracking my question is
①Can Garfield + + drift the negative ions produced by attaching electrons ?I mean, I want to calculate the drift time and the final position ( along the direction of the electric field ) of the negative ions in a uniform electric field from where it was generated to where it was collected at the bottom of the electric field.
②Can Garfield + + calculate the signal induced by negative ions?

I would appreciate it if you could provide some advice.Thanks a lot!

I guess @hschindl can help you


with DriftLineRKF you can simulate negative ion drift lines, with their starting points distributed according to the attachment profile of the electrons, by adding a line


to your program. This assumes that the negative ions behave the same way as the positive ones, just with a different mobility. If you have a table of mobilities, you can load it using “LoadNegativeIonMobility” (same way you did it for positive ions).

AvalancheMC also has a function DriftNegativeIon.

Note that both AvalancheMC and DriftLineRKF at the moment only simulate the drift of the negative ions, but do not take other processes (in particular detachment) into account.

I got it!Thank you very much. By the way,How to calculate the signal induced by the negative ions?
①I find GetIonSignal() in Sensor,If I use GetIonSignal(), I want to know whether it calculates the signal caused by positive ions or negative ions?
②Sensor has another function GetSignal(),which one is better for my program?

Ah, yes, that’s a bit confusing. Since they have negative charge, the contribution from the negative ions will be added to the “electron signal”. GetSignal returns the total induced current (from both negative and positive charge carriers), so it will also include the negative ion component.

oh,I understand, So If I want to calculate the signal induced by negative ions.I should use GetElectronSignal()?

The Sensor class stores

  • the total induced signal (which you can retrieve using GetSignal),
  • the contribution to the total signal from negative charge carriers (i. e. electrons and negative ions)), which you can retrieve using GetElectronSignal,
  • the contribution to the total signal from positive charge carriers (i. e. positive ions), which you can retrieve using GetIonSignal.

Thank you very much. I understand completely

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