Hex: src/var/dcs.cpp File Reference

| Hex 2.2 Hydrogen-electron collision solver

Functions
dcs.cpp File Reference
`#include <cmath>`
`#include <map>`
`#include <string>`
`#include <vector>`
`#include "hex-chebyshev.h"`
`#include "hex-interpolate.h"`
`#include "hex-special.h"`
`#include "hex-version.h"`
`#include "../quantities.h"`
`#include "../utils.h"`
Include dependency graph for dcs.cpp:

## Functions

| createNewScatteringQuantity (DifferentialCrossSection, "dcs") std
void | hex_differential_cross_section (int ni, int li, int mi, int nf, int lf, int mf, int S, int nEnergies, double *energies, int nAngles, double *angles, double *dcs, double *extra)
| Differential cross section (C). More...
void | hex_differential_cross_section_ (int *ni, int *li, int *mi, int *nf, int *lf, int *mf, int *S, int *nEnergies, double *energies, int *nAngles, double *angles, double *dcs, double *extra)
| Differential cross section (Fortran). More...

## Function Documentation

## ◆ createNewScatteringQuantity()

createNewScatteringQuantity | ( | DifferentialCrossSection | ,
|  | "dcs" |
| ) |  |

## ◆ hex_differential_cross_section()

void hex_differential_cross_section | ( | int | ni,
|  | int | li,
|  | int | mi,
|  | int | nf,
|  | int | lf,
|  | int | mf,
|  | int | S,
|  | int | nEnergies,
|  | double * | energies,
|  | int | nAngles,
|  | double * | angles,
|  | double * | dcs,
|  | double * | extra
| ) |  |

C prototype.

Parameters

  ni | Initial atomic principal quantum number.
  li | Initial atomic orbital quantum number.
  mi | Initial atomic magnetic quantum number.
  nf | Final atomic principal quantum number.
  lf | Final atomic orbital quantum number.
  mf | Final atomic magnetic quantum number.
  S | Total spin (0 = singlet, 1 = triplet).
  E | Impact energy in Rydbergs.
  N | Sample count.
  angles | Real array of length N containing scattering angles.
  dcs | Real array of length N to contain the cross sections.

## ◆ hex_differential_cross_section_()

void hex_differential_cross_section_ | ( | int * | ni,
|  | int * | li,
|  | int * | mi,
|  | int * | nf,
|  | int * | lf,
|  | int * | mf,
|  | int * | S,
|  | int * | nEnergies,
|  | double * | energies,
|  | int * | nAngles,
|  | double * | angles,
|  | double * | dcs,
|  | double * | extra
| ) |  |

Fortran prototype equivalent to

subroutine hex_differential_cross_section (ni,li,mi,nf,lf,mf,S,E,N,angles,dcs)
integer, intent(in) :: ni,li,mi
integer, intent(in) :: nf,lf,mf
integer, intent(in) :: s,n
double precision, intent(in) :: e
double precision, dimension(N) :: angles
double precision, dimension(2*N) :: dcs

Parameters

  ni | Initial atomic principal quantum number.
  li | Initial atomic orbital quantum number.
  mi | Initial atomic magnetic quantum number.
  nf | Final atomic principal quantum number.
  lf | Final atomic orbital quantum number.
  mf | Final atomic magnetic quantum number.
  S | Total spin (0 = singlet, 1 = triplet).
  E | Impact energy in Rydbergs.
  N | Sample count.
  angles | Real array of length N containing scattering angles.
  dcs | Real array of length N to contain the cross sections.