Store BES photons in Spectra
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=Float64), | intent(in), | dimension(3) | :: | pos | Position of neutral in beam grid coordinates |
|
real(kind=Float64), | intent(in), | dimension(3) | :: | vi | Velocitiy of neutral [cm/s] |
|
real(kind=Float64), | intent(in) | :: | photons | Photons from colrad [Ph/(s*cm^3)] |
||
integer, | intent(in) | :: | neut_type | Neutral type (full,half,third,halo) |
subroutine store_bes_photons(pos, vi, photons, neut_type)
!+ Store BES photons in [[libfida:spectra]]
real(Float64), dimension(3), intent(in) :: pos
!+ Position of neutral in beam grid coordinates
real(Float64), dimension(3), intent(in) :: vi
!+ Velocitiy of neutral [cm/s]
real(Float64), intent(in) :: photons
!+ Photons from [[libfida:colrad]] [Ph/(s*cm^3)]
integer,intent(in) :: neut_type
!+ Neutral type (full,half,third,halo)
select case (neut_type)
case (nbif_type)
call store_photons(pos,vi,photons,spec%full)
case (nbih_type)
call store_photons(pos,vi,photons,spec%half)
case (nbit_type)
call store_photons(pos,vi,photons,spec%third)
case (dcx_type)
call store_photons(pos,vi,photons,spec%dcx)
case (halo_type)
call store_photons(pos,vi,photons,spec%halo)
case default
if(inputs%verbose.ge.0) then
write(*,'("STORE_BES_PHOTONS: Unknown neutral type: ",i2)') neut_type
endif
stop
end select
end subroutine store_bes_photons