Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GEANT4 : GetEnergyDeposit #12

Open
piotrkon opened this issue Dec 2, 2015 · 5 comments
Open

GEANT4 : GetEnergyDeposit #12

piotrkon opened this issue Dec 2, 2015 · 5 comments

Comments

@piotrkon
Copy link

piotrkon commented Dec 2, 2015

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
Copy link
Author

piotrkon commented Dec 2, 2015

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
Copy link
Author

piotrkon commented Dec 2, 2015

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
Copy link
Author

piotrkon commented Dec 2, 2015

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
Copy link
Author

piotrkon commented Dec 2, 2015

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
Copy link
Contributor

hapol commented Dec 22, 2016

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants