# X-ray scattering factor f0 calculations

## `periodictable.cromermann`

Cromer-Mann formula for calculating x-ray scattering factors.

class `periodictable.cromermann.``CromerMannFormula`(symbol, a, b, c)

  Bases: `object`

  Cromer-Mann formula for x-ray scattering factors. Coefficient storage and evaluation.

  Class data:

  stollimit : float | Å-1
    maximum sin(theta)/lambda for which the formula works

  Attributes:

  symbol : string
    symbol of an element
  a : [float]
    a-coefficients
  b : [float]
    b-coefficients
  c : float
    c-coefficient

  Create a new instance of CromerMannFormula for specified element.

  No return value

  `atstol`(stol)

    Calculate x-ray scattering factors at specified sin(theta)/lambda

    stol : float or [float] | Å-1
      sin(theta)/lambda

    Return float or numpy.array.

  `stollimit` = 6

`periodictable.cromermann.``fxrayatq`(symbol, Q, charge=None)

  Return x-ray scattering factors of an element at a given Q.

  symbol : string
    symbol of an element or ion, e.g., “Ca”, “Ca2+”
  Q : float or [float] | Å-1
    Q value
  charge : int
    ion charge, overrides any valence suffixes such as “-“, “+”, “3+”.

  Return float or numpy array.

`periodictable.cromermann.``fxrayatstol`(symbol, stol, charge=None)

  Calculate x-ray scattering factors at specified sin(theta)/lambda

  symbol : string
    symbol of an element or ion, e.g., “Ca”, “Ca2+”
  stol : float or [float] | Å-1
    sin(theta)/lambda
  charge : int
    ion charge, overrides any valence suffixes such as “-“, “+”, “3+”.

  Return float or numpy.array.

`periodictable.cromermann.``getCMformula`(symbol)

  Obtain Cromer-Mann formula and coefficients for a specified element.

  symbol : string
    symbol of an element

  Return instance of CromerMannFormula.