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.
As a preliminar study, you may have a look to exemples/extended/hadronic/Hadr03
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 (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:
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:
***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:
/testhadr/det/setIsotopeMat Mo100 42 100 10.28 g/cm3
/testhadr/det/setSize 10 km
WARNING: There is no world volume!
***** 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.
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.
So the example is running all well but before I go ahead with producing my results I wanted to cross check the result of the program with existing data. I found a strange output while doing my research.
I ran the program with electron beam of 25 MeV on a tungsten target. I increased the size of the target to upto 100 m and I found that still about 25% of the initial incient electrons are passing through this thick 100 m target of high Z material, tungsten.
This behaviour seemed suspicious to me and hence I am confused about the output of this program Hadr03 with the macro, emExtra.mac, suggested by you.
Attaching screenshot of the console output where it is written
The run is 200000 e- of 25 MeV through 100 m of G4_W (density: 19.3 g/cm3 )
Process calls frequency:
Transportation= 50589 electronNuclear= 149411
Nb of incident particles surviving after 100 m of G4_W : 50589
Do you think it is normal? Do you think the electrons coming out have not gotten completely absorbed but lost some energy. But ideally electron’s penetration depth is way lesser than 100 m, (my target size). And 25% of initial electrons surviving after 100 meters of tungsten is a bit strange.
For e- (25 MeV) in Tungsten :
- stopping range ( eg. ionisation + brems) is 5.6 mm. This can be obtained from TestEm0
- electronNuclear interaction length is 72.16 m. This can be obtained from Hadr03 with thickness = 1 km
You may have noticed in Hadr03/README that electromagnetic interactions are not registered.
This is the condition to “see” and study nuclear interactions alone.
For realistic simulations, take a ‘complete’ physics list. For example as in Hadr06 or Hadr07.