public class XRaySpectrum
extends java.lang.Object
Constructor and Description |
---|
XRaySpectrum() |
Modifier and Type | Method and Description |
---|---|
static double[] |
B(double[] E,
java.lang.String target,
double[] T,
double To)
Ref 1 Eq 18
Proportional to x-ray photons/electron (unitless).
|
static double[] |
bremsstrahlung(double[] E,
java.lang.String target,
double To,
double theta)
Generates bremsstrahlung x-ray photon spectrum (photons/electron/bin)
using energies in vector E
|
static double |
c(double To)
Returns the Thomson-Whiddington constant using a rational approximation
(keV2 cm2 / g).
|
static double[] |
characteristic(double[] E,
java.lang.String tubeTarget,
double To,
double theta)
Generates characteristic lines and adds them to the fluence spectrum.
|
static double[] |
characteristicLine(double[] E,
java.lang.String tubeTarget,
double To,
double Ek,
double char_line_f,
double char_line_E,
double theta)
Return the vector spectrum phi that contains only the specified
characteristic line with the appropriate split between the
nearest two bins.
|
static double[] |
F(double[] E,
java.lang.String target,
double[] T,
double To,
double theta)
Ref 1 Eq 11
Returns fraction of x-ray photons of energy E escaping target material.
|
static double[] |
generateXRaySpectrum(double[] E,
double kVp,
java.lang.String target,
double mAs) |
static double[] |
generateXRaySpectrum(double[] E,
double kVp,
java.lang.String target,
double mAs,
double mdis,
double degrees,
double mmpyrex,
double mmoil,
double mmlexan,
double mmAl) |
static double[] |
Integ(double[] Ei,
java.lang.String target,
double[] T,
double To,
double theta) |
static void |
main(java.lang.String[] argv) |
static double[] |
MSP(java.lang.String material,
double[] T)
Ref 1 Eq 16
Returns mass stopping power term for specified material and
electron energy T
|
static double[] |
mu(double[] E,
java.lang.String material)
Returns the mass attenuation coef for the selected material at
energy E.
|
static double |
N(java.lang.String tubeTarget,
double To,
double Ek,
double fi,
double Ei,
double theta)
Ref 1 Eq 22
Returns number of characteristic x rays per electron from target.
|
static double |
xrqpRe(double airAbsorption)
Returns the number of quanta per R of exposure at the energies
specified by vector E (keV).
|
public static double[] generateXRaySpectrum(double[] E, double kVp, java.lang.String target, double mAs) throws java.lang.Exception
java.lang.Exception
public static double[] generateXRaySpectrum(double[] E, double kVp, java.lang.String target, double mAs, double mdis, double degrees, double mmpyrex, double mmoil, double mmlexan, double mmAl) throws java.lang.Exception
java.lang.Exception
public static double[] mu(double[] E, java.lang.String material) throws java.lang.Exception
E
- the array of energiesmaterial
- the material ("W", "Re", "Mo", "Al", "oil", "lexan", "pyrex", or "air")java.lang.Exception
- may occurpublic static double[] characteristic(double[] E, java.lang.String tubeTarget, double To, double theta) throws java.lang.Exception
E
- the array of energiestubeTarget
- the target materialTo
- Peak kilo volagetheta
- anglejava.lang.Exception
- may occurpublic static double[] characteristicLine(double[] E, java.lang.String tubeTarget, double To, double Ek, double char_line_f, double char_line_E, double theta) throws java.lang.Exception
E
- the energiestubeTarget
- the materialTo
- Peak kilo volageEk
- K-edgechar_line_f
- the flurescent yieldchar_line_E
- the energy of the linetheta
- the anglejava.lang.Exception
- may happenpublic static double N(java.lang.String tubeTarget, double To, double Ek, double fi, double Ei, double theta) throws java.lang.Exception
tubeTarget
- 'W' or 'Mo'To
- Ek
- K absorption energy (keV)fi
- fractional emission of char lineEi
- energy of char linetheta
- java.lang.Exception
public static double c(double To)
To
- incident electron energy (kVp)public static double[] bremsstrahlung(double[] E, java.lang.String target, double To, double theta) throws java.lang.Exception
E
- the energytarget
- the targetTo
- incident electron energy (kVp)theta
- the anglejava.lang.Exception
public static double[] Integ(double[] Ei, java.lang.String target, double[] T, double To, double theta) throws java.lang.Exception
java.lang.Exception
public static double[] B(double[] E, java.lang.String target, double[] T, double To) throws java.lang.Exception
E
- target
- T
- To
- java.lang.Exception
public static double[] MSP(java.lang.String material, double[] T) throws java.lang.Exception
material
- T
- java.lang.Exception
public static double[] F(double[] E, java.lang.String target, double[] T, double To, double theta) throws java.lang.Exception
E
- target
- T
- To
- theta
- java.lang.Exception
public static double xrqpRe(double airAbsorption) throws java.lang.Exception
airAbsorption
- java.lang.Exception
public static void main(java.lang.String[] argv)