ActarSimGroup / Actarsim

ACTARSIM, a simulation package developed to determine the response of the ACTAR-TPC Active Target and other similar Active Target projects, as well as their ancillary detectors.
http://igfae.usc.es/~genp/actarsim_doxygen/
3 stars 13 forks source link

GEANT4 : GetEnergyDeposit #12

Open piotrkon opened 9 years ago

piotrkon commented 9 years ago

For getting the energy deposit in the gas we use now the function GetDeltaEnergyDeposit(). It is indeed the energy difference between the two step point. The function called before was GetTotalEnergyDeposit() which gives the total energy deposit in the gas for the tracked particle. The problem of this previous function is that it doesn't take into account the contribution of the delta electrons produce to the energy deposit in the gas.

Since we use this energy to calculate the number of electrons drifting to the pad plane, I'm wondering is it a good method to estimate the energy deposit in the gas?

Actually there is another function called GetNonIonizingEnergyDeposit() which gives the energy deposit in the gas not by ionization. So what is recommended to get the energy deposit by ionization is GetTotalEnergyDeposit()-GetNonIonizingEnergyDeposit().

I looked at the contribution of the NonIonizingEnergyDeposit and also the difference between total and delta energy deposit.

piotrkon commented 9 years ago

For 15 MeV alphas in 1bar iC4H10 with standard cut on Delta electron (1mm) visu_alpha_15mev_ic4h10_standardcut alpha_15mev_ic4h10_standardcut

...and for infinite cut on Delta electrons (10km) visu_alpha_15mev_ic4h10_cut10km alpha_15mev_ic4h10_cut10km

piotrkon commented 9 years ago

We can see that the contribution of non ionizing energy is negligible (1/1000) and also if we make an infinite cut GetDeltaEnergy() and GetTotalEnergyDeposit() are the same.

piotrkon commented 9 years ago

The same thing with 12C, in standard cut (1mm) visu_c12_90mev_ic4h10_standardcut 12c_90mev_ic4h10_standardcut

And 10km cut

12c_90mev_ic4h10_cut10km_em3 12c_90mev_ic4h10_cut10km

piotrkon commented 9 years ago

Once again NonIonizingEnergy is negligible. However the Delta electrons produced have a bigger contribution to the energy deposit in the gas. That's why it is preferable to use GetDeltaEnergyDeposit().

If we have a closer look to the electrons produce we see that some have enough energy to travel further of the track. visu_c12_90mev_ic4h10_standardcut2 Using GetDeltaEnergyDeposit() we take into account their contribution to the energy deposit but we consider they are produce from the track. So it can somehow biased the pad charge profile making the track looks thinner.

So the ideal solution would be to track not only the scattered particle, but also the electron produce in GEANT4 and use the GetTotalEnergyDeposit(). Another good reason to do this is because when we use GetDeltaEnergy() we have this warning message :

-------- WWWW ------- G4Exception-START -------- WWWW ------- * G4Exception : Warning issued by : G4Step::GetDeltaEnergy() This method is obsolete and will be removed soon * This is just a warning message. *** -------- WWWW -------- G4Exception-END --------- WWWW -------

So maybe in the future version of GEANT4 this will be removed.

hapol commented 7 years ago

For the time being we continue using the equivalent to GetDeltaEnergy() but to avoid the warning we define directly G4double edep = -(aStep->GetPostStepPoint()->GetKineticEnergy() - aStep->GetPreStepPoint()->GetKineticEnergy())/MeV; which is exactly the same, without calling the (close to be deprecated) function.