Counting hadronic cross sections

Although the previous user action may be used to get the inelastic cross sections channel by channel, it only serves for the neutron_hp and particle_hp physics; and only for those cases where the database contains channel by channel cross sections, i.e. not for those where only total cross sections and particle yields are given (only data in the F02 directory).

The user action SHGetHadronicChannelXSUA serves to get the inelastic or neutron capture cross sections per reaction in any case, as it simulates a number of events and counts how often each reaction happens. It also serves to print the average particle yields of the inelastic collisions.

You can see an example on the use of this utility at MY_GAMOS_DIR/tutorials/SHieldingTutorial/exercise5/exercise5b.in. The user action first prints the total cross section of the hadronic processed defined, in a line showing the material, the primary particle energy, the process name, the total and the microscopic cross sections:


      @@SHGetHadronicChannelXSUA G4_Fe 10 MeV NeutronInelastic TOTAL_XS(macro)= 
       0.00119941 cm-1 TOTAL_XS(micro)= 1.41256 barn
      @@SHGetHadronicChannelXSUA G4_Fe 10 MeV nCapture TOTAL_XS(macro)=
       2.91782e-07 cm-1 TOTAL_XS(micro)= 0.000343635 barn
      @@SHGetHadronicChannelXSUA G4_Fe 10 MeV nFission TOTAL_XS(macro)= 
       0 cm-1 TOTAL_XS(micro)= 0 barn
    

Then it prints the number of times each reaction channel happens in the job. For a reaction channel it is understood each combination of target nucleus plus secondaries. The description of the channel is printed by enumerating the list of particles together with the number of times they appear; at the end it is printed the count number of the channel. The target nucleus is easily identified, as it starts with a "[" character:


      @@SHGetHadronicChannelXSUA G4_Fe 10 MeV NeutronInelastic CHANNEL 
       gamma 2 alpha 1 [Fe54 1 Cr51[0.0] 1  = 3
      @@SHGetHadronicChannelXSUA G4_Fe 10 MeV NeutronInelastic CHANNEL 
       gamma 4 alpha 1 [Fe54 1 Cr51[0.0] 1  = 1
      @@SHGetHadronicChannelXSUA G4_Fe 10 MeV NeutronInelastic CHANNEL 
       gamma 1 alpha 1 [Fe56 1 Cr51[0.0] 1  = 3
    

After all the channels are printed, they are merged, putting together those that have the same particles without taking into account the gammas. The channel name is printed in a compact form, with the target nucleus first, the projectile particle, the list of non-ion particles and the list of ions (usually only one). For each channel it is printed the number of times it happens divided by the number of times a collision with the target nucleus happens and the total process microscopic cross section multipled by this ratio:


      @@SHGetHadronicChannelXSUA G4_Fe 10 MeV NeutronInelastic CHANNEL_ALL= 
       Fe54(n,2n)Fe56 = 2/2974*XS(micro)= 0.00094994
      @@SHGetHadronicChannelXSUA G4_Fe 10 MeV NeutronInelastic CHANNEL_ALL= 
       Fe54(n,a)Cr51 = 4/2974*XS(micro)= 0.00189988
      @@SHGetHadronicChannelXSUA G4_Fe 10 MeV NeutronInelastic CHANNEL_ALL= 
       Fe54(n,a)Cr53 = 12/2974*XS(micro)= 0.00569964
    

Finally, if you set the parameter

/gamos/setParam USER_ACTION_NAME:ParticleYield 1

it will print the particle yield, i.e. the number of times a particle is produced for each collision with a target nucleus:

As you can see in this example, the data may be printed for several materials and several energies in a sinble job. But to do this you have to follow some rules:

In case you do not want to take into account the gammas, you can set the parameter:

/gamos/setParam USER_ACTION_NAME:NotGammas 1

In case you want to take into account only ions, you can set the parameter:

/gamos/setParam USER_ACTION_NAME:OnlyIons 1