|Message: Re: Partially charged ions||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
On Fri, 27 Apr 2007, Jean Claude Thiry wrote: > *** Discussion title: Particles > Email replies to PublicHyperNews@slac.stanford.edu must include: > In-Reply-To: <"/particles/327/1/1"@geant4-hn.slac.stanford.edu> > 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 > PrimaryGeneratorAction.cc. 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 > Hello, 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 = G4ParticleTable::GetParticleTable()->FindIon(Z,A,0,Z); 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 A>=Z. VI
|Inline Depth:||Outline Depth:||Add message:|