Message: Re: Partially charged ions Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Partially charged ions 

Forum: Particles
Re: None Partially charged ions (Jean Claude Thiry)
Re: None Re: Partially charged ions (Vladimir IVANTCHENKO )
Re: None Re: Partially charged ions (Jean Claude Thiry)
Date: 27 Apr, 2007
From: Vladimir IVANTCHENKO <>

On Fri, 27 Apr 2007, Jean Claude Thiry wrote:

> *** Discussion title: Particles
> Email replies to must include:
>   In-Reply-To: <"/particles/327/1/1">
>   Subject: ...change this to be about your reply.
> Hi,
> Thanks a lot for you answer. That's what I'm doing right now. But
> meanwhile I've got another issue:
> I try to add a mass and a charge distribution to the ions I shoot. So I
> thought the best way to do so was to define the particle in the
> PrimaryGeneratorAction::GeneratePrimaries part of the
> So I declare the gun in the constructor:
> ZrGun = new G4ParticleGun(1);
> and then I define the particle in the GeneratePrimaries part:
> ZrGun->SetParticleDefinition(ionTable->GetIon(ZrZ,ZrA,0.0));
> where ZrA and ZrZ are the mass and effective charge drawn randomly
> within a gaussian distribution.
> But when doing do, I get the following error message after the 18th
> event:
> ### Run 0 start. G4SteppingManager::GetProcessNumber: ProcessManager=0
> for particle=Ca140[0.0], PDG_code=1000201400
> G4SteppingManager::GetProcessNumber: Process Manager is not found.
> obviously this has nothing to do with the random generation, as I get
> the same error even for fixed values (where the ParticleDefinition is
> still set in the GeneratePrimaries part), but after less shots.
> The workaround I'm using right now is to define particleguns for all
> needed particles, and then I chose randomly which particlegun should be
> fired for each event. The problem is that this is very annoying, as I
> have to define about 500 guns for my distributions. Isn't there a better
> way to do that?
> Best Regards
> Jean Claude Thiry


Please, note, that everywhere inside G4 hadronic physics recoil ions are 
created - there is nothing special to create a new ion in run time. I am 
using following method:

G4ParticleDefinition* ion = 

last two arguments are not very important (they are not used so far). To
use method "FindIon" is the most effective. If such object already exist
then it will not be created again saving run time. I never try "GetIon",
may be it is an equivalent method.

What are the limitations? Ions should be created by this method after 
initialisation of physics. In your case - not in the constructor of 
PrimaryGenerator but in GeneratePrimaries, Z, A - are integer numbers and 


Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 None: Re: Partially charged ions   (Jean Claude Thiry - 09 May, 2007)
3 None: Re: Partially charged ions   (Jean Claude Thiry - 22 Jan, 2008)
1 None: Re: Partially charged ions   (Vladimir IVANTCHENKO - 29 Jan, 2008)
(_ None: Re: Partially charged ions   ( - 06 Oct, 2008)
 Add Message Add Message
to: "Re: Partially charged ions"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews

[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]