TABLE OF CONTENTS
/comptonScattering [ Modules ]
NAME
module comptonScattering
PURPOSE
This module implements Compton scattering cross sections
INPUTS
The Namelist "comptonScattering_nl" in the Jobcard.
comptonScattering/debug [ Global module-variables ]
[ Top ] [ comptonScattering ] [ Global module-variables ]
SOURCE
logical, save :: debug=.false.
PURPOSE
Switch on debugging output
comptonScattering/readInput [ Subroutines ]
[ Top ] [ comptonScattering ] [ Subroutines ]
NAME
subroutine readInput
PURPOSE
Reads input out of jobcard. Namelist 'comptonScattering_nl'.
comptonScattering/comptonScattering_nl [ Namelists ]
[ Top ] [ comptonScattering ] [ Namelists ]
NAME
NAMELIST /comptonScattering_nl/
PURPOSE
This Namelist for module "comptonScattering" includes:
comptonScattering/compton_crossSection_dOmega [ Functions ]
[ Top ] [ comptonScattering ] [ Functions ]
NAME
function compton_crossSection_dOmega(e_gamma,theta_gamma,charge_Nuc) Result (sigma)
PURPOSE
Evaluates Compton cross section assuming a free nucleon at rest, and a photon momentum along the z-axis.
INPUTS
- real , intent(in) :: e_gamma ! Photon energy
- real , intent(in) :: theta_gamma ! Photon scattering angle in degrees
- integer , intent(in) :: charge_nuc ! Charge of Nucleon
- integer , intent(in) :: frame ! 1=theta in lab, 2=theta in CM frame
OUTPUT
- real :: dsigma/dOmega -- cross section dsigma_dOmega in mb/sr
Note that the frame in which "dOmega" is calculated, is defined by the "frame" variable. E.g.: if frame=1 then dOmega=dOmega_lab or if frame=2 then dOmega=dOmega_CM
comptonScattering/getKinematics [ Subroutines ]
[ Top ] [ comptonScattering ] [ Subroutines ]
NAME
subroutine getKinematics(p_in,p_out,q_in,q_out,e_gamma,theta_gamma,frame)
PURPOSE
Evaluates kinematics for compton scattering
INPUTS
- real , intent(in) :: e_gamma ! Photon energy
- real , intent(in) :: theta_gamma ! Photon scattering angle in radians
- integer , intent(in) :: frame ! 1=theta in lab, 2=theta in CM frame
OUTPUT
- real, dimension(0:3), intent(out) :: p_in,p_out,q_in,q_out
NOTE * Same notations as in compton_crossSection_dOmega
comptonScattering/getSigma [ Functions ]
[ Top ] [ comptonScattering ] [ Functions ]
NAME
function getSigma(p_in,p_out,q_in,q_out,theta_gamma,success) result(sigma)
PURPOSE
Evaluates cross section for compton scattering
INPUTS
- real, dimension(0:3), intent(in) :: p_in,p_out,q_in,q_out
OUTPUT
- logical, intent(out) :: success
- real :: sigma ! dsigma/dOmega (mb/sr)
NOTE * Same notations as in compton_crossSection_dOmega