Question about SignalScalingFactor

Hi,

I found that using SetElectronSignalScalingFactor() increases the signal amplitude while drifting electrons using AvalancheMC().

Here is the code,

1.With ScalingFactor:

for (const auto& cluster : tr.GetClusters()) {
    AvalancheMC mc(&sensor);
    mc.SetDistanceSteps(0.005);
    mc.SetElectronSignalScalingFactor(cluster.n);
    mc.AvalancheElectron(cluster.x, cluster.y, cluster.z, cluster.t);
}

2.No ScalingFactor:

for (const auto& cluster : tr.GetClusters()) {
    for (int k = 0; k < cluster.n; ++k) {
      AvalancheMC driftelectron(&sensor);
      driftelectron.SetDistanceSteps(0.005);
      driftelectron.AvalancheElectron(cluster.x, cluster.y, cluster.z, cluster.t);
  }
}

Is it because my scale factor was set incorrectly? What should I do if I want to use SetElectronSignalScalingFactor() while also obtaining a signal amplitude similar to that of drift each electron?

Hi,
how significant is the difference? Could it be statistical fluctuations?

Hi,

Thanks for the reply. From the graph, it can be seen that the overall amplitude of the electronic signal has doubled by nearly 100 times.

Track generated using TrackSrim within each cluster, all electrons have the same starting point, and I think that there should not be such a large difference in signal amplitude.

After adding ion drift:

for (const auto& cluster : tr.GetClusters()) {
    AvalancheMC mc(&sensor);
    mc.SetDistanceSteps(0.005);
    mc.SetElectronSignalScalingFactor(cluster.n);
    AvalancheMC mcion(&sensor);
    mcion.SetDistanceSteps(0.005);
    mcion.SetIonSignalScalingFactor(cluster.n);
    mc.AvalancheElectron(cluster.x, cluster.y, cluster.z, cluster.t);
    for (const auto& electron : mc.GetElectrons()) {
      const auto& p0 = electron.path[0];
      mcion.DriftIon(p0.x, p0.y, p0.z, p0.t);
    }
  }

The sensor I am simulating is a proportional counter, a voltage of 1100V is set on the central anode wire, and there is a large amount of avalanche generated by electrons near it. Due to the short drift line of electrons, the signal caused by this will be smaller than that generated by ions. But the use of ScalingFactor resulted in electron signals exceeding ion signals.