Detecting nuclear Isotopes

I am running an experiment in that I need to find out how much of the target gets converted into its isotope under (gamma, n) reaction.
So basically I am hitting an electron beam on my target that produces photons through bremsstrahlung and these photons then convert my target into its isotope through photo neutron conversion.

A (gamma, n) A’

A: target material
A’: nuclear isotope (same Z, different atomic mass)

In my study I need to find out what percentage of the target is converted and also spatial distribution of the reaction.
So far I have only worked with scorers to calculate the energy and flux of emitted particles. I am wondering is it possible to detect/score an isotope which is produced inside the target itself. What will my geometry look like if my target and detector is the same part of my experimental set up?

Is it even possible? If yes please guide me some examples or references. Any kind of help will be really appreciated.

Thank you very much.

1 Like

As a preliminar study, you may have a look to exemples/extended/hadronic/Hadr03

Hello,

Thank you Maire for this very useful suggestion. I do feel like now I am in the right direction. I made a few changes in the example according to my geometry. The changes I made are in the following files:

DetectorConstruction.cc
PrimaryActionGenerator.cc
inelastic.mac
(DetectorConstruction.cc (6.9 KB)
PrimaryGeneratorAction.cc (3.5 KB)
inelastic.cc (497 Bytes)
(attaching the changed files in this reply. )
(changed the name of file “inelastic.mac” to “inelasctic.cc” please change it back to run for trial)

I have basically just changed the target size and its material from Molybdenum98 to Molybdenum100.
I have also changed the beam from 10MeV proton to 30MeV electron.

the output on the console is incomplete for me after making these changes.
For example is says
Nb of incident particles surviving after 1 cm of Molybdenum100 : 10000
Which is weird because 1cm (size of the target is more than the radiation length of electron Mo)
I then changed the target size to 10m to check if the electron get absorbed but the output remained the same.

Next problem is that in the console output the List of nuclear reactions and generated particles is empty which is exactly what I want.

following is the complete console output:

Run terminated.
Run Summary
  Number of events processed : 10000
  User=0.03s Real=0.04s Sys=0s

 The run is 10000 e- of 30 MeV through 1 cm  of Molybdenum100 (density: 10.28 g/cm3 )

 Process calls frequency:
	Transportation= 10000

 ***Nb of incident particles surviving after 1 cm  of Molybdenum100 : 10000***


 MeanFreePath:	0 fm  +- 0 fm 	massic: 0 mg/cm2
 CrossSection:	0 cm^-1 		massic: 0 um2/mg
 crossSection per atom:	0 pbarn 

 Verification: crossSections from G4HadronicProcessStore:
      Transportation= 0 um2/mg	0 pbarn 
               total= 0 um2/mg	0 pbarn 

 ***List of nuclear reactions:*** 


 ***List of generated particles:***
... write Root file : inelastic.root - done
... close Root file : inelastic.root - done


If possible please let me know what could I be doing wrong here. This program if I could tweak according to geometry I might get exactly what I am looking for.

Thank you very much.

I am wondering is it because my primary particle is an “electron” which is a lepton and not hadron like a proton.

Should I be changing something in physicslist.cc too?

In PhysicsList, replace GammaNuclearPhysics by G4EmExtraPhysics (do not forget the #include)
Here a macro for Hadr03 and its printout.
emExtra.mac.txt (251 Bytes)
emExtra.out.txt (3.0 KB)

I made the changes in the Physics list and ran the macro emExtra.mac from your previous reply. I am getting the following Warning and error:

 /control/execute emExtra.mac
/run/verbose 1
#
/testhadr/det/setIsotopeMat Mo100 42 100 10.28 g/cm3
/testhadr/det/setSize 10 km
/run/reinitializeGeometry
WARNING: There is no world volume!
#
/process/had/verbose 1
***** COMMAND NOT FOUND </process/had/verbose 1> *****

***** Batch is interrupted!! *****

Sorry for bothering you on such small errors. am I missing some GEANT4 library that I am not able to run the exact same macro and codes in my PC which gave perfectly desired output in yours?

just you run an older version of Geant4 …

1- I guess you can forget the warning (I am not sure).
2- remove the verbose command.

Hey Maire,
It works now. Thank you very much for all your help. I will cross-check the results with some standard results and then use it for my experiment. You have been a really great help.

For now you can close this topic. If needed I will contact you again. Thank you very much.