Problem 1297 - Tracking of low energy muons stops in electric field without apparent reason.
Summary: Tracking of low energy muons stops in electric field without apparent reason.
Status: RESOLVED INVALID
Alias: None
Product: Geant4
Classification: Unclassified
Component: tracking (show other problems)
Version: 9.5
Hardware: All All
: P5 normal
Assignee: Takashi.Sasaki
URL:
Depends on:
Blocks:
 
Reported: 2012-03-21 11:24 CET by Kamil Sedlak
Modified: 2012-07-21 03:35 CEST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description Kamil Sedlak 2012-03-21 11:24:21 CET
Dear All,

I simulate low energy muons (mu+) in a He gas in the presence of a constant electric field (500V over a few cm) and in a 5T magnetic field (parallel to the electric field). Muons loose their initial energy (e.g. via ionisation), but should not stop completely, because the electric field should re-accelerate them. This indeed happens for some muons, however some muons suddenly stop for a reason which I do not understand - presumably due to a complete energy loss during a single step (e.g. by ionisation) once their momentum is very low.  Once a muon stops, it is never re-accelerated by the electric field again.  It remains at rest until it decays.

I found out, that if I generate muons (or positrons) at rest (i.e. with zero initial momentum), they are also not accelerated by the electric field, and stay where they were generated.

I checked that muons, which do not stop, are accelerated by the electric field correctly.  I also checked that I have the following line in my code:
  fFieldManager->SetFieldChangesEnergy(true);

We tried to understand the problem with Peter Gumplinger.  We think that a mu+ born at rest is not accelerated in an E-field because of this line:

http://www-geant4.kek.jp/lxr/source/tracking/src/G4SteppingManager.cc#L293

and the muons, once stopped, don't get re-accelerated in the field because of:

http://www-geant4.kek.jp/lxr/source/tracking/src/G4SteppingManager2.cc#L470

However, we do not know how to fix this problem in a proper way.  I am willing to participate in the debugging, if that would be helpful, but I need some advice about what to try.

I used Geant 4.9.5 on SL5, but the problem is there also in 4.9.4.p03.

(I initially submitted this to hypernews, but it was not solved there:
http://hypernews.slac.stanford.edu/HyperNews/geant4/get/eventtrackmanage/1039.html )

Thank you,
Kamil
Comment 1 Takashi.Sasaki 2012-04-03 14:24:48 CEST
This is the design matter of Geant4. Some years ago, we had a design change for the particles with zero energy and no particle never with zero enery never accelerated in Geant4.

You may submit your requirement here:
http://jira-geant4.kek.jp/secure/Dashboard.jspa

Best regards,
Takashi Sasaki
Comment 2 Kamil Sedlak 2012-06-06 10:50:53 CEST
Dear Takashi and All,

thank you for your answer.  You suggested to submit my request to
http://jira-geant4.kek.jp/secure/Dashboard.jspa , but first of all it is not clear to me how to submit the request on that web page, and secondly I think there is also some misunderstanding of my problem.

I am not requesting a design change in Geant4 (i.e. I do not request that Geant4 should start accelerating particles at rest).  Instead, I would like that if a MOVING particle is going to loose all its energy in a given step, it is checked whether the particle is charged and in the electric field.  If it is, than it should not be stopped completely, but should be kept moving.

In other words, I am kindly requesting to implement a possibility (probably via some kind of a flag applicable individually to different types of charged particles) for user to specify that a moving charged particle is not allowed to loose all its energy in a step, if that particle is in the electric field.

Please, reconsider my bug report.  If you think that it is really not a bug but a feature of Geant4, please consider this bug report as a request/suggestion for further Geant4 development.

Kind Regards, 
Kamil
Comment 3 Takashi.Sasaki 2012-06-06 10:59:54 CEST
To generalize the handling of all of the processes (not only physics), Stepping/Tacking of Geant4 never distinguish what kind of particles are currently processed. There is no way to treat only electrons in special way. As I told you before, this is the design matter and we need more generic approach. 

This is a very tricky way, but you may make your own process to handle electrons in your case. The particles only with below zero energy are killed in SteppingManager. You may add small franction on the energy in the end of the process loop by your own process.