|Message: Re: Finding all particles involved in an interaction||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 Mon, 13 Jul 2015 12:34:25 GMT, michel maire wrote:
> On Mon, 13 Jul 2015 05:32:19 GMT, Michael H. Kelsey wrote: > > Unfortunately, that is the only way. The underlying "problem" is that > > the material does not consist of "particles" in the G4 sense. Each > > process knows what the tracked particle is, and it knows the material. > > For hadronic interactions [like (n,gamma) or (n,alpha)], the process > > uses the material composition and cross-sections to choose the specific > > isotope for the interaction. Then it creates a strictly internal object > > (a G4Nucleus, usually) as the target, and passes the track and target > > into the appropriate model (G4HadronicInteraction subclass). > > > > That target object is internal to the hadronic interaction code, and is > > never visible outside. > > > > In example Hadr03, SteppingAction, I read : > > //initialisation of the nuclear channel identification > // > G4ParticleDefinition* particle = aStep->GetTrack()->GetDefinition(); > G4String partName = particle->GetParticleName(); > // > G4HadronicProcess* hproc = (G4HadronicProcess*) process; > const G4Isotope* target = hproc->GetTargetIsotope(); > if (target) targetName = target->GetName(); > > It works ! (even with neutronHP ...)
Thanks for the reminder, Michel. I had forgotten about that hack we put in to solve exactly this problem :-)
Karen, in the code fragment above, "process" is accessed via the step; it works because all hadronic interactions are G4VDiscreteProcess subclasses, and therefore are guaranteed to be the step-limiting one. The "GetTargetIsotope()" function returnes a cached G4Ions version of the target nucleus I had described previously. If you call it "out of band" (i.e., you save a pointer to the hadronic process, and call the functions somewhere other than SteppingAction), the result is not likely to be meaningful.
-- Michael Kelsey