Difference between revisions of "LaserComptonScat"
Line 1,809: | Line 1,809: | ||
'''Power-law Distribution graphs (26-33 MeV Electrons): | '''Power-law Distribution graphs (26-33 MeV Electrons): | ||
− | [[Image:EnergySpread_02-26-09-a.jpg | | + | [[Image:EnergySpread_02-26-09-a.jpg | 400 px]] |
− | [[Image:EnergySpread_02-26-09-b.jpg | | + | [[Image:EnergySpread_02-26-09-b.jpg | 400 px]] |
Revision as of 21:50, 26 February 2009
LCS model paper
Formulas
Compton kinematic
Equation 1 from Reference File:Stepanek NIMA 412 1998pg174.pdf says that the backsattered x-ray energy is given by
@532nm =
@1064nm =
GEANT4 calculation in syed_compton:
Lorentz boost
Notes on Syed's GEANT4 project for Laser Compton Scattering at the IAC
2/7/08
Step 1: Configure Event generator in which electron parameters can be changes. Move the source left and right of the center. Change is momentum direction; going left and going right.
Step 2: comment out electron and add gamma. get it to move in the same way.
Step 3: turn them both on
Step 4: if fail then find references on event Generator with 2 intersecting beams, perhaps ILC, LHC or BaBar has one.
2/14/08
Problem last week was due to editing the wrong file.
We now have a event generator which starts an electron and a photon moving toward eachother.
We see and event when the photon energy is 500 keV and only the compton process is turned on.
Next step:
1.) edit the Stepping Verbose so only a Compton event is printed out
2.) add an event counter so we know how many beam triggers are done to get the event( edit SteppingVerbose.h, add a global variable to the class definition)
output : event number, Photon position, Electron position, Photon and Electron initial and final momentum.
3.) Compare output with BDSIM at 500 keV
4.) Insert new physics process for Low Energy Compton
2/28/08
1.) edit the Stepping Verbose so only a Compton event is printed out (done)
2.) add an event counter so we know how many beam triggers are done to get the event( edit SteppingVerbose.h, add a global variable to the class definition)
output : event number, Photon position, Electron position, Photon and Electron initial and final momentum.
3.) Compare output with BDSIM at 500 keV
4.) Insert new physics process for Low Energy Compton (done)
Still need to do 2 &3.
Compare hand calculation of an event or two with GEANT4 output
3/6/08
Goals for last week
1.) Compare hand calculation of an event or two with GEANT4 output
2.) add an event counter so we know how many beam triggers are done to get the event( edit SteppingVerbose.h, add a global variable to the class definition)
output : event number, Photon position, Electron position, Photon and Electron initial and final momentum.
3.) Compare output with BDSIM at 500 keV (BDSIM crashes at this high energy)
Tasks for next week:
1.) How many GEANT4 triggers does it take to get an event when E-gamma = 30 eV
Zero/10^7. However, if I set the E-gamma=300 eV then I see 1819 triggers out of 10 million iterations.
2.) remove detector which blocks reactions for 0<Z<200
[box]Commented out Sensitive Detector function in DetectorConstruction.cc. I still see the SD in display[/box]
3.) Store tracking info for photon and electron into variables for printing out
[box]Show the text file for 300 eV laser and 20 MeV electron[/box]
4.) Compare BDSIM and GEANT4 for E-gamma = 300 or 30 eV
[box]BDSIM crashes at 300 eV[/box]
5.) Any measured X-sections for 2 eV Compton?
[box]Was not able to find on internet. BDSIM however, uses GEANT4 database...We might need to dig into their code, I got the source code[/box]
3/13/08
Tasks:
1.) fix output file so electons and photon from same event on same line
o Geant4 output.txt:
Variable | value |
# Triggers | 153610 |
Compton Event # | 1 |
Scattered Photon energy (keV) | 0.299784 |
photon X position | 0 |
photon Y position | 0 |
photon Z position | -441.431 |
photon X Momentum | 6.30938e-05 |
photon Y Momentum | 0.000285127 |
photon Z Momentum | -6.77687e-05 |
Particle ID | 22 |
Scattered e- KE (keV) | 0.000215785 |
Scattered electron X position | -177.027 |
Scattered electron Y position | -800 |
Scattered electron Z position | 590.444 |
Scattered electron X Momentum | -6.30938e-05 |
Scattered electron Y Momentum | -0.000285127 |
Scattered electron Z Momentum | 0.000367769 |
Particle ID | 11 |
- = electron compton wavelength =
- = electron final kinetic energy
- = ejected electron angle w.r.t original photon direction
15361 || 1 || 0.299784 0 0 -441.431 6.30938e-05 0.000285127 -6.77687e-05 22 0.000215785 -177.027 -800 590.444 -6.30938e-05 -0.000285127 0.000367769 11 32685.8 2 0.299791 0 0 -131.765 -7.34024e-05 0.000285186 -5.61732e-05 22 0.000208981 192.024 -746.061 800 7.34024e-05 -0.000285186 0.000356173 11 33535.9 3 0.299682 0 0 -754.315 -0.000175966 -1.63899e-05 -0.000242026 22 0.000318029 504.599 46.9997 800 0.000175966 1.63899e-05 0.000542026 11 34157 4 0.299864 0 0 -579.415 -7.39129e-05 -0.000282637 6.7614e-05 22 0.00013635 209.21 800 78.3512 7.39129e-05 0.000282637 0.000232386 11
. . . .
2.)Compare compton scattering between BDSIM and GEANT4 for 300 eV photon incident on a 20 MeV electron
BDSIM | GEANT4 |
o BDSIM (5,000,000 Iterations):
o Geant4 (5,000,000 iterations):
3.) remove physics processes and run 10^9 events piece mealed so you save event generator seed every 10^8
o Still waiting for run_0.rndm, run_1.rndm...., files on inca. Process at the moment is executing!
3/20/08
Taks for next week
1.) Check elastic kinematics of LowEnergyCompton for case where electron is 1 eV and incident photon ranges between 300 ev and 8 keV
output.txt for 1 eV electron and 8 keV gamma. Number of iterations: 1,000,000
Variable | LowEnCompton_value | Compton_value |
# Triggers | 53 | 48 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 7.79307 | 7.76672 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | -752.482 | -751.601 |
photon X Momentum | -0.0050576 | 0.00228733 |
photon Y Momentum | 0.00239243 | -0.00204773 |
photon Z Momentum | -0.00542483 | -0.0071342 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 0.206934 | 0.233283 |
Scattered electron X position | 584.874 | -234.503 |
Scattered electron Y position | -276.667 | 209.94 |
Scattered electron Z position | 800 | 800 |
Scattered electron X Momentum | 0.0050576 | -0.00228733 |
Scattered electron Y Momentum | -0.00239243 | 0.00204773 |
Scattered electron Z Momentum | 0.0134248 | 0.0151342 |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 8 keV incoming Photons | GEANT4_Compton, 8 keV incoming Photons |
GEANT4_LowEnCompton, 1 eV incoming Electrons | GEANT4_Compton, 1 eV incoming Electrons |
output.txt for 1 eV electron and 300 eV gamma. Number of iterations: 2,000,000
Variable | LowEnCompton_value | Compton_value |
# Triggers | 32685 | 7123 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.299791 | 0.299745 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | -131.765 | 554.105 |
photon X Momentum | -7.34024e-05 | 0.000261431 |
photon Y Momentum | 0.000285186 | 5.7275e-05 |
photon Z Momentum | -5.61732e-05 | -0.000134982 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 0.000208981 | 0.000255222 |
Scattered electron X position | 192.024 | -147.787 |
Scattered electron Y position | -746.061 | -32.3775 |
Scattered electron Z position | 800 | 800 |
Scattered electron X Momentum | 7.34024e-05 | -0.000261431 |
Scattered electron Y Momentum | -0.000285186 | -5.7275e-05 |
Scattered electron Z Momentum | 0.000356173 | 0.000434982 |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 300 eV incoming Photons | GEANT4_Compton, 300 eV incoming Photons |
GEANT4_LowEnCompton, 1 eV incoming Electrons | GEANT4_Compton, 1 eV incoming Electrons |
see if #triggers is same as above when= 800 eV and = 1 eV
2.) Same as above except now change the incident electron energy up to 20 MeV, 50 ev, 1 keV, 10 keV, 1Mev, 10 MeV
output.txt for 20 MeV electron and 300 eV gamma. Number of Iterations: 2,000,000
Variable | LowEnCompton_value | Compton_value |
# Triggers | 32685 | 7123 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.299791 | 0.299745 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | -131.765 | 554.105 |
photon X Momentum | -7.34024e-05 | 0.000261431 |
photon Y Momentum | 0.000285186 | 5.7275e-05 |
photon Z Momentum | -5.61732e-05 | -0.000134982 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 0.000208981 | 0.000255222 |
Scattered electron X position | 192.024 | -147.787 |
Scattered electron Y position | -746.061 | -32.3775 |
Scattered electron Z position | 800 | 800 |
Scattered electron X Momentum | 7.34024e-05 | -0.000261431 |
Scattered electron Y Momentum | -0.000285186 | -5.7275e-05 |
Scattered electron Z Momentum | 0.000356173 | 0.000434982 |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 300 eV incoming Photons | GEANT4_Compton, 300 eV incoming Photons |
GEANT4_LowEnCompton, 20 MeV incoming Electrons | GEANT4_Compton, 20 MeV incoming Electrons |
4/10/08
1.) check if cross section is same fore 100 eV <
<800 eVCase-a)=20 MeV, =100 eV, process="LowEnCompton", #events: 2,000,000 Result=0 interactions
Case-b)=20 MeV, =100 eV, process="Compton", #events: 2,000,000 Result=0 interaction
Case-c)=20 MeV, =105 eV, process="LowEnCompton", #events: 2,000,000 Result=0 interaction
Case-d)=20 MeV, =105 eV, process="Compton", #events: 2,000,000 Result= 12 interactions
Variable | LowEnCompton_value (case-c) | Compton_value (case-d) |
# Triggers | 490155 | |
Compton Event # | 2 | |
Scattered Photon energy (keV) | 0.104974 | |
photon X position | 0 | |
photon Y position | 0 | |
photon Z position | -521.846 | |
photon X Momentum | 2.94637e-05 | |
photon Y Momentum | -9.85919e-05 | |
photon Z Momentum | -2.07632e-05 | |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 2.58365e-05 | |
Scattered electron X position | -239.076 | |
Scattered electron Y position | 800 | |
Scattered electron Z position | 498.63 | |
Scattered electron X Momentum | -2.94637e-05 | |
Scattered electron Y Momentum | 9.85919e-05 | |
Scattered electron Z Momentum | 0.000125763 | |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 105 eV incoming Photons | GEANT4_Compton, 105 eV incoming Photons |
400 px |
GEANT4_LowEnCompton, 20 MeV incoming Electrons | GEANT4_Compton, 20 MeV incoming Electrons |
400 px |
Case-e)=20 MeV, =150 eV, process="LowEnCompton", #events: 2,000,000 Result=0 interaction
Case-f)=20 MeV, =150 eV, process="Compton", #events: 2,000,000 Result= 93 interactions
Variable | LowEnCompton_value (case-e) | Compton_value (case-f) |
# Triggers | 36600 | |
Compton Event # | 2 | |
Scattered Photon energy (keV) | 0.149994 | |
photon X position | 0 | |
photon Y position | 0 | |
photon Z position | 331.001 | |
photon X Momentum | -6.9277e-05 | |
photon Y Momentum | -2.37144e-05 | |
photon Z Momentum | 0.000130907 | |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 5.60297e-06 | |
Scattered electron X position | 800 | |
Scattered electron Y position | 273.85 | |
Scattered electron Z position | 551.485 | |
Scattered electron X Momentum | 6.9277e-05 | |
Scattered electron Y Momentum | 2.37144e-05 | |
Scattered electron Z Momentum | 1.9093e-05 | |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 150 eV incoming Photons | GEANT4_Compton, 150 eV incoming Photons |
400 px |
GEANT4_LowEnCompton, 20 MeV incoming Electrons | GEANT4_Compton, 20 MeV incoming Electrons |
400 px |
Case-g)=20 MeV, =200 eV, process="LowEnCompton", #events: 2,000,000 Result=0 interaction
Case-h)=20 MeV, =200 eV, process="Compton", #events: 2,000,000 Result= 179 interactions
Variable | LowEnCompton_value (case-g) | Compton_value (case-h) |
# Triggers | 33713 | |
Compton Event # | 2 | |
Scattered Photon energy (keV) | 0.19991 | |
photon X position | 0 | |
photon Y position | 0 | |
photon Z position | 778.343 | |
photon X Momentum | 7.46479e-05 | |
photon Y Momentum | 0.000183052 | |
photon Z Momentum | -2.97293e-05 | |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 8.98786e-05 | |
Scattered electron X position | -7.03722 | |
Scattered electron Y position | -17.2567 | |
Scattered electron Z position | 800 | |
Scattered electron X Momentum | -7.46479e-05 | |
Scattered electron Y Momentum | -0.000183052 | |
Scattered electron Z Momentum | 0.000229729 | |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 200 eV incoming Photons | GEANT4_Compton, 200 eV incoming Photons |
400 px |
GEANT4_LowEnCompton, 20 MeV incoming Electrons | GEANT4_Compton, 20 MeV incoming Electrons |
400 px |
Case-i)=20 MeV, =400 eV, process="LowEnCompton", #events: 2,000,000 Result= 697 interaction
Case-j)=20 MeV, =400 eV, process="Compton", #events: 2,000,000 Result= 898 interactions
Variable | LowEnCompton_value (case-i) | Compton_value (case-j) |
# Triggers | 6012 | 5318 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.399439 | 0.399849 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | 233.061 | 760.793 |
photon X Momentum | -0.000130127 | 1.38275e-06 |
photon Y Momentum | 0.000205697 | 0.000341899 |
photon Z Momentum | -0.000316714 | 0.000207322 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 0.000560591 | 0.000150707 |
Scattered electron X position | 102.933 | -0.281371 |
Scattered electron Y position | -162.712 | -69.5718 |
Scattered electron Z position | 800 | 800 |
Scattered electron X Momentum | 0.000130127 | -1.38275e-06 |
Scattered electron Y Momentum | -0.000205697 | -0.000341899 |
Scattered electron Z Momentum | 0.000716714 | 0.000192678 |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 400 eV incoming Photons | GEANT4_Compton, 400 eV incoming Photons |
GEANT4_LowEnCompton, 20 MeV incoming Electrons | GEANT4_Compton, 20 MeV incoming Electrons |
Case-k)=20 MeV, =800 eV, process="LowEnCompton", #events: 2,000,000 Result= 2534 interactions
Case-l)=20 MeV, =800 eV, process="Compton", #events: 2,000,000 Result= 3314 interactions
Variable | LowEnCompton_value (case-k) | Compton_value (case-l) |
# Triggers | 2033 | 1703 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.798489 | 0.799399 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | 302.879 | 759.113 |
photon X Momentum | 0.000776101 | -0.000120116 |
photon Y Momentum | -8.6914e-05 | -0.000672133 |
photon Z Momentum | -0.00016643 | 0.000415751 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 0.00151064 | 0.000600626 |
Scattered electron X position | -399.218 | 12.7812 |
Scattered electron Y position | 44.7076 | 71.5199 |
Scattered electron Z position | 800 | 800 |
Scattered electron X Momentum | -0.000776101 | 0.000120116 |
Scattered electron Y Momentum | 8.6914e-05 | 0.000672133 |
Scattered electron Z Momentum | 0.00096643 | 0.000384249 |
Particle ID | 11 | 11 |
o Plots
GEANT4_LowEnCompton, 800 eV incoming Photons | GEANT4_Compton, 800 eV incoming Photons |
GEANT4_LowEnCompton, 20 MeV incoming Electrons | GEANT4_Compton, 20 MeV incoming Electrons |
2.) Create your own Physics list subroutine called SyedCompton which is a renamed copy of LowEnergyCompton
Created local SyedLowEnergyCompton and SyedCompton subroutines:
Case-m)=20 MeV, =800 eV, process="LowEnCompton", #events: 2,000,000 Result= 2534 interactions
Case-n)=20 MeV, =800 eV, process="Compton", #events: 2,000,000 Result= 3314 interactions
Variable | SyedLowEnCompton_value (case-m) | SyedCompton_value (case-n) |
# Triggers | 2033 | 1703 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.798489 | 0.799399 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | 302.879 | 759.113 |
photon X Momentum | 0.000776101 | -0.000120116 |
photon Y Momentum | -8.6914e-05 | -0.000672133 |
photon Z Momentum | -0.00016643 | 0.000415751 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 0.00151064 | 0.000600626 |
Scattered electron X position | -399.218 | 12.7812 |
Scattered electron Y position | 44.7076 | 71.5199 |
Scattered electron Z position | 800 | 800 |
Scattered electron X Momentum | -0.000776101 | 0.000120116 |
Scattered electron Y Momentum | 8.6914e-05 | 0.000672133 |
Scattered electron Z Momentum | 0.00096643 | 0.000384249 |
Particle ID | 11 | 11 |
o Plots
GEANT4_SyedLowEnCompton, 800 eV incoming Photons | GEANT4_SyedCompton, 800 eV incoming Photons |
GEANT4_SyedLowEnCompton, 20 MeV incoming Electrons | GEANT4_SyedCompton, 20 MeV incoming Electrons |
4/17/08
1.) Lower cutoff energy and redo rate plots from previous week. Created local SyedLowEnergyCompton and SyedCompton subroutines:
Case-a)=20 MeV, =2.326 eV, process="LowEnCompton", #events: 2,000,000 lowEnergyLimit(2*eV) intrinsicLowEnergyLimit(1*eV) Result= 270 interactions
Case-b)=20 MeV, =2.326 eV, process="Compton", #events: 2,000,000 lowEnergyLimit(2*eV) Result= 0 interactions
Variable | SyedLowEnCompton_value (case-a) | SyedCompton_value (case-b) |
# Triggers | 18955 | |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.002326 | |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | 601.57 | |
photon X Momentum | -6.4311e-10 | |
photon Y Momentum | -9.36186e-10 | |
photon Z Momentum | 2.326e-06 | |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 1.26208e-15 | |
Scattered electron X position | 549.557 | |
Scattered electron Y position | 800 | |
Scattered electron Z position | 601.807 | |
Scattered electron X Momentum | 6.43062e-10 | |
Scattered electron Y Momentum | 9.36116e-10 | |
Scattered electron Z Momentum | 2.77288e-13 | |
Particle ID | 11 | 11 |
o Plots
GEANT4_SyedLowEnCompton, 2.326 eV incoming Photons | GEANT4_SyedCompton, 2.326 eV incoming Photons |
400 px |
GEANT4_SyedLowEnCompton, 20 MeV incoming Electrons | GEANT4_SyedCompton, 20 MeV incoming Electrons |
400 px |
Case-c)=20 MeV, =2.326 eV, process="LowEnCompton", #events: 2,000,000 lowEnergyLimit(2*eV) intrinsicLowEnergyLimit(0.1*eV) Result= 270 interactions
Case-d)=20 MeV, =2.326 eV, process="LowEnCompton", #events: 5,000,000 lowEnergyLimit(2*eV) intrinsicLowEnergyLimit(0.1*eV) Result= 636 interactions
Variable | SyedLowEnCompton_value (case-c) | SyedLowEnCompton_value (case-d) |
# Triggers | 18955 | 18955 |
Compton Event # | 2 | 2 |
Scattered Photon energy (keV) | 0.002326 | 0.002326 |
photon X position | 0 | 0 |
photon Y position | 0 | 0 |
photon Z position | 601.57 | 601.57 |
photon X Momentum | -6.4311e-10 | -6.4311e-10 |
photon Y Momentum | -9.36186e-10 | -9.36186e-10 |
photon Z Momentum | 2.326e-06 | 2.326e-06 |
Particle ID | 22 | 22 |
Scattered e- KE (keV) | 1.26208e-15 | 1.26208e-15 |
Scattered electron X position | 549.557 | 549.557 |
Scattered electron Y position | 800 | 800 |
Scattered electron Z position | 601.807 | 601.807 |
Scattered electron X Momentum | 6.43062e-10 | 6.43062e-10 |
Scattered electron Y Momentum | 9.36116e-10 | 9.36116e-10 |
Scattered electron Z Momentum | 2.77288e-13 | 2.77288e-13 |
Particle ID | 11 | 11 |
o Plots
GEANT4_SyedLowEnCompton, 2.326 eV incoming Photons(2-million events) | GEANT4_SyedCompton, 2.326 eV incoming Photons (5-million events) |
GEANT4_SyedLowEnCompton, 20 MeV incoming Electrons(2-million events) | GEANT4_SyedCompton, 20 MeV incoming Electrons(5-million events) |
2.) After SyedCompton runs, change it so the final electron kinetic energy is calculated correctly.
Final Electron KE is approx. equals to 20MeV in this case because energy lost by incoming electrons is so small following Compton interaction as shown in above plots ...suggestions???
4/24/08
1.) Try HeP Lorentz vector class and set vectors within the SyedCompton routine
HepLorentzVector P4eLab
P4eLab.setPx(HepDouble);
5/1/08
Got the class
G4LorentzVector* P4eLab;
defined in SyedLowEnergyCompton.hh
Then created the variable
P4eLab = new G4LorentzVector;
P4eLab->setPx(1.4596);
G4cout << "P4e Px= " << P4eLab << G4endl;
in SyedLowEnergyCompton.cc
1.) Check the functionality of the function calls below to see if we understand how they work
P4eLab->setPx(1.4596); cout << "P4e " << P4eLab << endl;
cout << "rest 4 Vector" << P4eLab.rest4Vector() << endl;---->"These functions are not declared!" cout << "rest 4 Vector" << P4eLab.rest4Vector().beta << endl;---->"These functions are not declared!"
2.) Look up relativistic Lorentz transformation to boost to electron rest frame. A fair start is at
http://www.iac.isu.edu/mediawiki/index.php/Forest_Relativity_Notes#Lorentz_Transformations
3.) check out reference
A.A. Sokolov and I.M. Ternov Sov. Phys. Dokl. 8 (1964), p. 1203.
may lead to a reference for our problem.
4.) Install GEANT4 on Brems
*done* but with graphics option was disabled, there are issues with OpenGL on brems and I was not able to compile MesaGL in my local folder
5.) create 2 sets of 24 random number seed files. The first set of 24 random number seed files will run for 2 hours and the second set will run for 24 hours.
*Compilation Error message on Brems:* Compiling LCS.cc ... Using global libraries ... Linking LCS ... /home/naeesyed/apps/geant4/geant4.9.1.p02/lib/Linux-g++/libG3toG4.so: undefined reference to `G3Division::UpdateVTE()' /home/naeesyed/apps/geant4/geant4.9.1.p02/lib/Linux-g++/libG3toG4.so: undefined reference to `G3Division::CreatePVReplica()' /home/naeesyed/apps/geant4/geant4.9.1.p02/lib/Linux-g++/libG3toG4.so: undefined reference to `G3Division::G3Division(G3DivType, G3VolTableEntry*, G3VolTableEntry*, int, int, int, double, double)' /home/naeesyed/apps/geant4/geant4.9.1.p02/lib/Linux-g++/libG3toG4.so: undefined reference to `G3Division::G3Division(G3VolTableEntry*, G3VolTableEntry*, G3Division const&)' collect2: ld returned 1 exit status make: *** [/home/naeesyed/geant4/bin/Linux-g++/LCS] Error 1
6/12/08
1.) using interactive version of LCS test the transformations below
We have proton and electron. In the Lab frame electron is moving along the x-axis with momentum ;
- Lab Frame
- CM Frame
- :
- Find
Using the last two equations we will get the following for x component:
- Example
- : electron mass is neglibible
- : Mass of a proton
- Electron
- In our case 4-vectors for particles are
Compiling on brems
1.) turned off a GUI and G3toG4 stuff
2.) edited $G4INSTALL/config/binmake.gmk and commmented out the VIS variables and include commands
3.) comment out interactive commands in LCS.cc so only batch mode would run
we are compiled now.
Practice submitting batch jobs via ssh command and the random number seed files.
Submitting batch jobs on brems
Concept: While logged into brems you can submit a job to run on bres 3 by using the ssh command via
ssh brems3 source run0.script
the script "run0.script"
contains all the command you would type interactively in order to execute the program
source ~/apps/geant4/geant4.9.1.p02/env.sh cd /home/naeesyed/geant4/LCS/Laser_Compton_Backscattering/run0 LCS vis.mac > /dev/null
Khalid has cross sections in his interview talk
9/5/08
Insert Transformation matrix to take electron beam in Lab frame to the electron in the electron's rest frame.
Find
- Lab Frame
- Transform from the LAB frame to a reference frame in which the electron is at rest
- Find
The relativistic transformation matrix for the four momentum is given by
Insert Transformation matrix to transform outgoing X-ray momentum four vector in the Lab from to the electron at rest frame.
Was the energy of 2.25 MeV just chosen as an example? This is the calculated electron energy in C.M. frame.
Write equation for
= angle of the outgoing X-ray in the electron rest frame.
Klein-Nishina Compton Cross Section
Khalid LCS paper:File:Chouffani PhysRevST 050701 2006 pg9.pdf
Questions: Why and ?
is the detector's angle with respect to incoming LCS X-rays.
9/26/08
1.) Use B= 0.975 to transform photon to electrons rest frame inside the event generator
for a few events check
before and after
// muon momenta in the primary's rest frame CLHEP::HepLorentzVector pMu1 ( p0x, p0y, p0z, p00 ); CLHEP::HepLorentzVector pMu2 ( -p0x, -p0y, -p0z, p00 );
// muon momenta in the boosted frame CLHEP::HepLorentzVector boostedPMu1 = pMu1.boostZ ( beta ); CLHEP::HepLorentzVector boostedPMu2 = pMu2.boostZ ( beta );
Declared the following in the event generator: //declaring G4LorentzVector for both electrons and gammas G4double beta = 0.975; p4eLab = new G4LorentzVector; p4gammaLab = new G4LorentzVector;
p4gammaBoostedx = new G4LorentzVector; p4gammaBoostedy = new G4LorentzVector; p4gammaBoostedz = new G4LorentzVector;
p4eBoostedx = new G4LorentzVector; p4eBoostedy = new G4LorentzVector; p4eBoostedz = new G4LorentzVector;
However, I'm stuck with in getting momentum values in the lab frame for both electrons and gammas...G4ParticleDefinition doesn't include "getMomentum" function and we need momentums in the lab frame that could be passed in the above declared variables?-- Daq 09:28, 3 October 2008 (MDT)
Update: "ExN02EventAction" class is getting momentum values of the existing event, I declared above variables in EventAction class. // get information on primary particle
G4PrimaryParticle* primary=evt->GetPrimaryVertex(0)->GetPrimary(0);
//Added by Syed p4eLab(primary->GetMomentum().x(),primary->GetMomentum().y(),primary->GetMomentum().z(), primary->GetEnergy());
p4eBoostedx = p4eLab.boostX(beta); p4eBoostedy = p4eLab.boostY(beta); p4eBoostedz = p4eLab.boostZ(beta); Now, the question is where to LorentzBoost gammas? --Daq 13:26, 3 October 2008 (MDT)
2.) Now take tracking verbose output and by a hand calculation transform the outgoing photon
to the lab frame
3.) Check EventAction to see if the photon momentum and energy are being passed
10/3/08
1.) In event generator:
Boost electron and gamma and compare with hand calculation. (Units: MeV)
P4e LabFrame w/o boost= (20 ,0 ,0 ,20) P4e RestFrame w boost= (177.764 ,0 ,0 ,177.764) P4gamma LabFrame w/o boost = (2.236e-06 ,0 ,0 ,2.236e-06) P4gamma RestFrame w boost= (1.9874e-05 ,0 ,0 ,1.9874e-05) Using findBoostToCM() function of Hep3Vector p4e RestFrame w/ findBoostToCM function= ((-0,-0,-1)) p4gamma RestFrame w/ findBoostToCM function= ((-0,-0,-1))
10/10/08
=0.975, =20 MeV
P4e RestFrame w/o boost= (20.0065 ,0 ,0 ,20) Electron Rest w/o boost mass = 0.511 P4e RestFrame w/ boost= (2.27955 ,0 ,0 ,2.22154) Electron Rest w/ boost mass = 0.511
=0.9996737585, =20 MeV, =2.236 eV
P4e RestFrame w/o boost= (20.0065 ,0 ,0 ,20) Electron Rest w/o boost mass = 0.511 P4e RestFrame w/ boost= (0.511 ,0 ,0 ,-2.48526e-08) Electron Rest w/ boost mass = 0.511 P4gamma RestFrame w/o boost = (2.236e-06 ,0 ,0 ,2.236e-06) P4gamma RestFrame w/ boost= (2.85602e-08 ,0 ,0 ,2.85602e-08)
Simulation
i) No. of events=10,000,000
P4e RestFrame w/ boost= (0.511 ,0 ,0 ,-2.48526e-08) P4gamma RestFrame w/ boost= (2.85602e-08 ,0 ,0 ,2.85602e-08) LowEnCompton events=0 ------------------------------------------------------------- lowEnergyLimit(0*eV): Cannot be set below 1 eV, getting G4Exception error message if I set the intrinsic low energy below 1 eV and 1eV > 2.85602e-08 MeV
ii) No. of events executing on inca=100,000,000
P4e RestFrame w/ boost= (0.511 ,0 ,0 ,-2.48526e-08) P4gamma RestFrame w/o boost = (2.236e-06 ,0 ,0 ,2.236e-06)
/home/syed/geant4/LCS/Laser_Compton_Backscattering/output.txt format:
ComptonEventTrigger/10, ComptonEventCounter, fTrack->GetKineticEnergy())*1000, fTrack->GetPosition().x(), fTrack->GetPosition().y(), fTrack->GetPosition().z(), fTrack->GetMomentum().x(), fTrack->GetMomentum().y(), fTrack->GetMomentum().z(), fTrack->GetDefinition()->GetPDGEncoding(), electronKE, electronxPosition, electronyPosition, electronzPosition, electronxMomentum, electronyMomentum, electronzMomentum, electronPDGID
10/17/08
The boosted electron and gamma energies seem to be working now
P4e RestFrame w/o boost= (20.0065 ,0 ,0 ,20) P4e RestFrame w/ boost= (0.511 ,0 ,0 ,-2.48526e-08) P4gamma RestFrame w/o boost = (2.236e-06 ,0 ,0 ,-2.236e-06) P4gamma RestFrame w/ boost= (0.000175058 ,0 ,0 ,-0.000175058)
What should gamma energy be after boosting to electron rest frame?
=0.9996737585 = 2.326 eV Hand calculated value is = 0.03 eV from =2.236 eV. Computer simulated value is = 0.0285602 eV from =2.236 eV. ---------------------------------------------------------------------------------------------------- =0.9996737585 = -2.326 eV Hand calculated value is = 181.05 eV from =2.236 eV. Computer simulated value is = 175.058 eV from = 2.236 eV.
Now boost the electron and gamma vectors back to the lab frame in Stepping Verbose
Number of events executed: 20 million
GEANT4_SyedLowEnCompton, | :266 nm=4.652 eV (for 532 nm laser), =20 MeVGEANT4_SyedLowEnCompton, | :266 nm=4.652 eV (for 532 nm laser), =20 MeV
GEANT4_SyedLowEnCompton, | :532 nm=2.326 eV (for 1064 nm laser), =20 MeVGEANT4_SyedLowEnCompton, | :532 nm=2.326 eV (for 1064 nm laser), =20 MeV
Equation 1 from Reference File:Chouffani JCPDS 2003 46 pg73.pdf says that the backsattered x-ray energy is given by
@532nm =
@1064nm =
10/24/08
Now compare BDSIM output to GEANT4 output with the boosting based Laser compton scattering physics process.
Number of events executed: 1 million
BDSIM, | :266nm (for 532nm laser), =20 MeVAngular dependence (Head-on collision) |
BDSIM, | :532nm (for 1064nm laser), =20 MeVAngular dependence (Head-on collision) |
-------------------------------------------------------------------------------------------------------------------------------------------------
Geant4_lowEnCompton, | :266nm (for 532nm laser), =20 MeVAngular dependence (Head-on collision) |
Geant4_lowEnCompton, | :532nm (for 1064nm laser), =20 MeVAngular dependence (Head-on collision) |
Geant4_Compton, | :266nm (for 532nm laser), =20 MeVAngular dependence (Head-on collision) |
Geant4_Compton, | :532nm (for 1064nm laser), =20 MeVAngular dependence (Head-on collision) |
A 522 nm wavelength photon is
Why does GEANT4 and BDSIM give a max compton
of 7 keV when using an input photon energy of 2.18 eV instead of 14 keV as predicted by the above formula. A factor of 2 difference exits!
Now that we have source code for a compton scattering process, lets compare its output to some observables.
1.) Check if the
dependence is shown by the simulationDone; see above plots
usefull root command:
LCS->makeCode();
or
LCS->MakeClass();
2.) Plot the scattered electron kinetic energy distribution and compare it with predictions from the Klein Nishina formula.
E_min is 20 MeV for electrons and the code(DiffEKleinNishina.c) is computing E_max for incoming gammas which in LCS case is much smaller, i.e, 2.326 eV! The code will not go through the for loop. Even following the LorentzBoost, E_min=0.511 MeV for electrons and E_gamma=183 eV, the code will not compute DiffEXSect for electrons so today lets talk about working on DiffEKleinNishina.c?
Geant4 "lowEnCompton" | :266nm (for 532 nm laser), =20 MeVGeant4 "lowEnCompton" | :532nm (for 1064nm laser), =20 MeV
Geant4 "Compton" | :266nm (for 532 nm laser), =20 MeVGeant4 "Compton" | :532nm (for 1064nm laser), =20 MeV
3.) Save random number for Comptom event.
Done
4.) Write Kelin Nishina cross section formula in your Compton scattering physics process.
11/4/08
insert picture of compton event with coordinate system drawn.
1.) E gamma is delta function instead of distribution (conservation of E & P) : Check if outputting correct values from GEANT.
Output for the lowEnCompton: ### Run 0 start. Start Run processing.
********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 0 *********************************************************************************************************
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 1 0 0 800 0 0 -0.885077 511 keV 0 eV 8.8 m 8.8 m World Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 2 0 0 200 0 0 -0.885077 511 keV 0 eV 60 cm 9.4 m Tracker Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 3 0 0 0 0 0 -0.885077 511 keV 0 eV 20 cm 9.6 m Chamber Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 4 0 0 -800 0 0 -0.885077 511 keV 0 eV 80 cm 10.4 m Tracker Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 5 0 0 -960 0 0 -0.885077 511 keV 0 eV 16 cm 10.56 m OutOfWorld Transportation
********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 *********************************************************************************************************
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 1 0 0 -800 0 0 0.000349583 349.583 eV 0 eV 8.8 m 8.8 m World Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 2 0 0 0 0 0 0.000349583 349.583 eV 0 eV 80 cm 9.6 m Tracker Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 3 0 0 200 0 0 0.000349583 349.583 eV 0 eV 20 cm 9.8 m Chamber Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 4 0 0 642.575 -0.000183924 -8.58383e-05 -0.000284095 349.15 eV 0 eV 44.2575 cm 10.2426 m Tracker LowEnCompton
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 5 -800 -373.365 -593.133 -0.000183924 -8.58383e-05 -0.000284095 349.15 eV 0 eV 1.51868 m 11.7612 m Tracker Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 6 -960 -448.038 -840.274 -0.000183924 -8.58383e-05 -0.000284095 349.15 eV 0 eV 30.3735 cm 12.065 m OutOfWorld Transportation
********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 *********************************************************************************************************
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 1 45.6923 21.3249 800 0.000183924 8.58383e-05 0.000633678 0.433214 eV 0 eV 16.5304 cm 16.5304 cm Tracker Transportation
#Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 2 92.132 42.9985 960 0.000183924 8.58383e-05 0.000633678 0.433214 eV 0 eV 16.8007 cm 33.3311 cm OutOfWorld Transportation G4VisManager: Using G4TrajectoryDrawByCharge as default trajectory model.
------------------------------------------------------------------------------ output.txt (Rest and Lab frame for photons and electrons, Energy in keV) 1 0.34915 0 0 642.575 -0.000183924 -8.58383e-05 -0.000284095 <---Scattered Photons in Rest frame 13.6587 -0.000183924 -8.58383e-05 -0.000284095 22 <---Scattered Photons in Lab frame 0.000433214 45.6923 21.3249 800 0.000183924 8.58383e-05 0.000633678 <---Scattered electrons in Rest frame 0.0417626 0.000183924 8.58383e-05 0.000633678 11 <---Scattered electrons in Lab frame
2.) Overlay KE of scatter electron from Klein-Nishina , GEANT4 and BDSIM.
./DiffEXsect 0 2.326 1 Calculating Differential Compton cross section (in barns/eV) for 0 < E < 1.56555e-05 in steps of 1 and 2 eV incident Photons 0 63696.3
./DiffEXsect 0.1 2.326 1 Calculating Differential Compton cross section (in barns/eV) for 0 < E < 1.56555e-05 in steps of 1 and 2 eV incident Photons 0 63696.3
./DiffEXsect 0.1 2.326 1e-5 Calculating Differential Compton cross section (in barns/eV) for 0 < E < 1.56555e-05 in steps of 1 and 2 eV incident Photons 0 63696.3
insert scattered photon theta distribution and energy and energy -vs- theta
Overlay scattered photon energy with experiment
11/14/08
Simulation events: 10,000,000
1. insert picture of compton event with coordinate system drawn.
2. insert scattered photon theta distribution and energy and energy -vs- theta
GEANT4_SyedCompton (32 MeV electrons and 532 nm laser) | GEANT4_SyedCompton (32 MeV electrons and 532 nm laser) |
GEANT4_SyedCompton (38 MeV electrons and 266 nm laser) | GEANT4_SyedCompton (38 MeV electrons and 266 nm laser) |
3. Overlay scattered photon energy with experiment
I tried to overlay using TH2F, energy vs. counts, but no progress. The sample overlay example on hw10 is for TH1F class, probably I need to go into root manual this winter break.
GEANT4_SyedCompton (32 MeV electrons and 532 nm laser) | Experimental Data (~32 MeV electrons and 532 nm laser) |
GEANT4_SyedCompton (38 MeV electrons and 266 nm laser) | Experimental Data (~37 MeV electrons and 266 nm laser) |
12/12/08
Syed's LCS final for Fall, 2008:File:Syed LCS Simulation.pdf
01/06/09
Overlay scattered photon energy with experiment
Histograms Overlay Macro:File:LCS Experiment.C
32 MeV electrons and 532 nm laser head-on collision | ~37 MeV electrons and 266 nm laser head-on collision |
1/21/09
1.) Run MC with different momentum directions (angle w.r.t. laser) , how many event/CPU sec can be generated?
Here I'm assuming a triangle: a+b+c = 180 with an assumption that -1=180?? electronGun->SetParticleMomentumDirection(0, 0, 0); //0 Degree electronGun->SetParticleMomentumDirection(0, -0.75, -0.25); //45 Degree electronGun->SetParticleMomentumDirection(0, -0.5, -0.5); //90 Degree electronGun->SetParticleMomentumDirection(0, -0.25, -0.75); //135 Degree electronGun->SetParticleMomentumDirection(0, 0, -1); //180 Degree
32 MeV electrons and 532 nm laser collision at various incoming electron angles | 32 MeV electrons and 532 nm laser collision at various incoming electron angles |
2.) Run MC with different electron energies to reproduce shape of distribution in experiment.
Electron Energies: 26-33 MeV Laser wavelength: 532 nm Table of scaling factors, identify # of gun triggers.
3.) Start writing comparison between 2 Physics models.
4.) Start trying out the GPS event generator
a.) need to move boost to LCS physics model instead of ExN02PrimaryGeneratorAction.cc
Then change source file ExN02PrimaryGeneratorAction.cc to have the lines below:
#include "G4GeneralParticleSource.hh"
:myDetector(myDC) { G4int n_particle = 1; particleGun = new G4GeneralParticleSource();
1/30/09
1.) Table of scale factors for beam energy changes. create an energy profile for the incident electron beam.
Landau Distribution? Particle_Identification#Electrons_2
2.) Physics Model comparison: GEANT4 with and without Lorentz boost.
side by side graphs of evt.comptonKE before and after your Model changes.
describe transformation equations using template below
3.) Abstract for July 12-16, 2009 HPS annual meeting
Abstract PDF file:File:Syed HPS 2009 Abstract.pdf
a.) Monochromatic X-ray resolution enhancement of radiography
b.)2 experiments using LCS to create a monochromatic X-ray beam have been done at the IAC
c.) A simulation has been performed to further understand features(insert your words here) of the experiment.
d.) A comparison between the simulation and experiment will be shown as well as actual radiograph images
4.) Use energy distribution from part 1 above to create the distribution using GPS.
2/12/09
Check photon energy calculation:
- = 532 nm
- = 2.3318 eV
Equation 1 from Reference File:Stepanek NIMA 412 1998pg174.pdf says that the backsattered x-ray energy In the Lab Frame is given by
- Transform from the LAB frame to a reference frame in which the electron is at rest
- Find
The relativistic transformation matrix for the four momentum is given by
= 296.6 eV
2/20/09
Based on 2/12/09 discussions, we created a global class "SharedLCSValues" to store electron's energy and calculate beta, gamma, and LorentzBoost conversion factors.
#ifndef LCSGLOBALS_HH #define LCSGLOBALS_HH 1 #include "globals.hh" class SharedLCSValues{ public: SharedLCSValues(); //constructor void setElectronEnergy(G4double); G4double getElectronEnergy(); G4double getBetaCalculated(); G4double getComptonLorentzFactor(); ~SharedLCSValues(); //destructor private: G4double IncomingElectronEnergy; G4double BetaCalculated; G4double GammaCalculated; G4double ComptonLorentzFactor; }; #endif ----------------- // // Authors: Syed F. Naeem, Tony Forest // Syed F. Naeem (syed@physics.isu.edu) // // History: // ----------- // 19 Feb 2007 1st implementation // ------------------------------------------------------------------- // Class description: // Beta and gamma calculations for incoming electrons // ------------------------------------------------------------------- #include "LCSGlobals.hh" SharedLCSValues::SharedLCSValues(){IncomingElectronEnergy = BetaCalculated = GammaCalculated = ComptonLorentzFactor = 0.0;} void SharedLCSValues::setElectronEnergy(G4double value){ IncomingElectronEnergy = value; if (IncomingElectronEnergy <= 0) { G4Exception("LCSGlobals::LCSGlobals - Electron energy outside intrinsic process validity range"); } } G4double SharedLCSValues::getElectronEnergy(){ return IncomingElectronEnergy; } G4double SharedLCSValues::getBetaCalculated(){ BetaCalculated = IncomingElectronEnergy/(sqrt(IncomingElectronEnergy*IncomingElectronEnergy+0.511*0.511)); return BetaCalculated; } G4double SharedLCSValues::getComptonLorentzFactor(){ BetaCalculated = IncomingElectronEnergy/(sqrt(IncomingElectronEnergy*IncomingElectronEnergy+0.511*0.511)); GammaCalculated = 1/sqrt(1-BetaCalculated*BetaCalculated); ComptonLorentzFactor = GammaCalculated*(1-BetaCalculated); return ComptonLorentzFactor; } SharedLCSValues::~SharedLCSValues(){}
GPS energy commands
/gps/ene/type Pow /gps/ene/alpha 2 #y = AE^alpha #/gps/ene/A 5? /gps/ene/min 5 MeV /gps/ene/max 32 MeV
Do a power law fit to the graph
gpsvis.mac /control/verbose 2 /run/verbose 2 /random/setSavingFlag 1 # # create empty scene # #/vis/scene/create # # Create a scene handler for a specific graphics system # (Edit the next line(s) to choose another graphic system) # #/vis/open OGLIX # draw scene # #/vis/viewer/set/viewpointThetaPhi 90 180 deg #/vis/viewer/zoom 1.4 #/vis/viewer/flush # for drawing the tracks # (if too many tracks cause core dump => storeTrajectory 0) #/tracking/storeTrajectory 1 #/vis/scene/add/trajectories # (if you prefer refreshing each event, comment out next line) #/vis/scene/endOfEventAction accumulate # /event/verbose 0 /tracking/verbose 2 #Particle's Momentum direction, electron in our case #Commented following lines in PrimaryGeneratorAction.cc: ####//electronGun->SetParticleMomentumDirection(G4ThreeVector(0., 0., -1)); ####//electronGun->SetParticleEnergy( p4eRestFrame->e()); # We instead are setting electrons momentum direction in gpsvis.mac as follows: /gps/direction 0. 0. -1. /gps/ene/type Pow /gps/ene/alpha 2 #circular plane source /gps/pos/type Plane /gps/pos/shape Circle /gps/pos/radius 1.5 cm /gps/ene/min 26. MeV /gps/ene/max 33. MeV /run/beamOn 1000000 exit
Power-law Distribution graphs (26-33 MeV Electrons):