Computes the imaginary part of the cross-section contribution for given indices.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int32), | intent(in) | :: | initial_index_ |
index pointing to the basis element involving initial state |
||
integer(kind=int32), | intent(in) | :: | final_index_ |
index pointing to the basis element involving final state |
||
real(kind=dp), | intent(in) | :: | s_matrix_imag_(:,:) |
imaginary part of the S-matrix |
(output) contribution to the cross-section from imaginary part of the S-matrix
function compute_imag_component(initial_index_, final_index_, &
s_matrix_imag_) result(imag_contribution_)
!! Computes the imaginary part of the cross-section contribution
!! for given indices.
!---------------------------------------------------------------------!
integer(int32), intent(in) :: initial_index_
!! index pointing to the basis element involving initial state
integer(int32), intent(in) :: final_index_
!! index pointing to the basis element involving final state
real(dp), intent(in) :: s_matrix_imag_(:,:)
!! imaginary part of the S-matrix
real(dp) :: imag_contribution_
!! (output) contribution to the cross-section from imaginary
!! part of the S-matrix
!---------------------------------------------------------------------!
imag_contribution_ = -s_matrix_imag_(initial_index_, final_index_)
!---------------------------------------------------------------------!
end function compute_imag_component