Message: More on baryon balance : what to trust? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question More on baryon balance : what to trust? 

Forum: Hadronic Processes
Date: 27 Apr, 2011
From: Manuel Julien <Manuel Julien>

Hi,

I need to simulate 11C production in my instrument. In my case, it comes from neutron bombardment
12C(n,2n)11C. That reaction has a threshold of ~20 MeV and a maximal crossection at ~32.5 MeV.
As a test, I've made a slab of 12C and shoot 32.5 MeV neutrons.

I then look in the stepping action for "NeutronInelastic" process, number of secondaries at "2",
and both of them to be "neutrons". That works fine :

****************************************************************************************************
* G4Track Information:   Particle = neutron,   Track ID = 1,   Parent ID = 0
****************************************************************************************************

Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
    0     -200      -68     45.6      32.5        0        0         0       World initStep
    1     -105      -68     45.6      32.5        0       95        95        AC_1 Transportation
    2    -98.6      -68     45.6         0        0     6.45       101        AC_1 NeutronInelastic
    :----- List of 2ndaries - #SpawnInStep=  2(Rest= 0,Along= 0,Post= 2), #SpawnTotal=  2 ----------
    :     -98.6       -68      45.6      3.38            neutron
    :     -98.6       -68      45.6      8.92            neutron
    :----------------------------------------------------------------- EndOf2ndaries Info ----------

From there, I can count 11C's. However, in the real instrument, there are many elements and isotopes
present and I can't assume 2 neutrons out means one 11C. Thus I need information either on the target
and preferably the remainder. To get that, I first get the process, then GetIsotopeProductionInfo(),
then the info I need :

G4NeutronInelasticProcess *NIP = static_cast<const G4NeutronInelasticProcess *>(Cur_Step->GetPostStepPoint()->GetProcessDefinedStep());
G4IsoParticleChange *IPC = NIP->GetIsotopeProductionInfo();
G4String IPCProducerProcess = IPC->GetProducer();
G4String IPCProjectile = IPC->GetParentParticle().GetDefinition()->GetParticleName();
G4int Mother_Z = IPC->GetMotherNucleus().GetZ_asInt();
G4int Mother_A = IPC->GetMotherNucleus().GetA_asInt();
G4String IPCRemain = IPC->GetIsotope();

And I get the secondaries with :

G4TrackVector *Secondary = fpSteppingManager->GetfSecondary();
G4int tot = (*Secondary).size();
G4int n = fpSteppingManager->GetfN2ndariesPostStepDoIt();
G4String Secondaries[10];
for (i=tot-n;i<=tot-1;i++) Secondaries[i-tot+n] = (*Secondary)[i]->GetDefinition()->GetParticleName();

All that works, although I get a "Bus Error" at the end of the run when I add
"NeutronInelasticProcess->EnableIsotopeCounting();" in my physics list.

Now comes the problem, in most cases the number of baryons is not balanced, it seems like the
incomming neutron gets dropped somewhere. Here are three examples :

IPCProducerProcess = 20G4LENeutronInelastic
IPCProjectile = neutron
IPCMother = 6_12
IPCRemain = 6_10
Secondaries = neutron + neutron

IPCProducerProcess = 20G4LENeutronInelastic
IPCProjectile = neutron
IPCMother = 6_12
IPCRemain = 4_8
Secondaries = alpha

IPCProducerProcess = 20G4LENeutronInelastic
IPCProjectile = neutron
IPCMother = 6_12
IPCRemain = 5_10
Secondaries = neutron + proton

In a minority of cases, the number of baryons is balanced, here are some examples :

IPCProducerProcess = 20G4LENeutronInelastic
IPCProjectile = neutron
IPCMother = 6_12
IPCRemain = 6_11
Secondaries = neutron + neutron

IPCProducerProcess = 20G4LENeutronInelastic
IPCProjectile = neutron
IPCMother = 6_12
IPCRemain = 4_9
Secondaries = proton + deuteron + neutron

IPCProducerProcess = 20G4LENeutronInelastic
IPCProjectile = neutron
IPCMother = 6_12
IPCRemain = 5_10
Secondaries = proton + neutron + neutron

Here's my question : what to trust? Should I consider that a 11C has been produced when a 12C is hit
with a neutron and 2 neutrons come out and disregard what GetIsotope tells me (~90% 10C, ~10% 11C);
or what GetIsotope gives is to be trusted and something is wrong elsewhere?

Thanks for any insight

Manuel

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

1 Idea: Re: More on baryon balance : what to trust?   (Vladimir Ivanchenko - 28 Apr, 2011)
 Add Message Add Message
to: "More on baryon balance : what to trust?"

 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 ]