georges.fermi package#

Submodules#

georges.fermi.materials module#

TODO

exception georges.fermi.materials.MaterialException(m)[source]#

Bases: Exception

Exception raised for errors when using zgoubidoo.Sequence

class georges.fermi.materials.RangeDefinitionType[source]#

Bases: type

class georges.fermi.materials.CSDARange[source]#

Bases: object

class georges.fermi.materials.ProjectedRange[source]#

Bases: object

class georges.fermi.materials.ElementType[source]#

Bases: type

property atomic_a: float | None#
property atomic_z: int | None#
property atomic_radiation_length: Quantity#
Parameters:

material

Returns:

property atomic_scattering_length: Quantity#

Transport Theory”, B. Gottschalk, 2012.

Parameters:

material

Returns:

Type:

See “Techniques of Proton Radiotherapy

class georges.fermi.materials.Element[source]#

Bases: object

class georges.fermi.materials.CompoundType[source]#

Bases: type

property valid_data#
property density: Quantity#
property radiation_length: Quantity#
property scattering_length: Quantity#
range(kinetic_energy: ~pint.Quantity, range_definition: ~georges.fermi.materials.RangeDefinitionType = <class 'georges.fermi.materials.ProjectedRange'>) Quantity | None[source]#
Parameters:
  • kinetic_energy

  • range_definition

Returns:

solve_range(range: ~pint.Quantity, range_definition: ~georges.fermi.materials.RangeDefinitionType = <class 'georges.fermi.materials.ProjectedRange'>) Kinematics | None[source]#
Parameters:
  • range

  • range_definition

Returns:

stopping(thickness: Quantity, kinetic_energy: Quantity) Kinematics[source]#
Parameters:
  • thickness

  • kinetic_energy

Returns:

residual_range(thickness: Quantity, kinetic_energy: Quantity) Quantity | None[source]#
Parameters:
  • thickness

  • kinetic_energy

Returns:

required_thickness(kinetic_energy_out: ~pint.Quantity, kinetic_energy_in: ~pint.Quantity, range_definition: ~georges.fermi.materials.RangeDefinitionType = <class 'georges.fermi.materials.ProjectedRange'>)[source]#
Parameters:
  • kinetic_energy_out

  • kinetic_energy_in

  • range_definition

Returns:

scattering(kinetic_energy: ~pint.Quantity, thickness: ~pint.Quantity, model: ~georges.fermi.mcs.ScatteringModelType = <class 'georges.fermi.mcs.DifferentialMoliere'>, compute_a0: bool = True, compute_a1: bool = True, compute_a2: bool = True) Mapping[str, float][source]#

Compute the Fermi-Eyges parameters A0, A1, A2 and B (emittance).

Parameters:
  • kinetic_energy

  • thickness

  • model

  • compute_a0

  • compute_a1

  • compute_a2

Returns:

energy_dispersion(energy: Quantity) float[source]#

TODO

Parameters:

energy

Returns:

losses(energy: Quantity) float[source]#

TODO

Parameters:

energy

Returns:

class georges.fermi.materials.Compound[source]#

Bases: object

class georges.fermi.materials.Air#

Bases: Compound

bdsim_data = None#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'argon': 0.0128, 'carbon': 0.0001, 'nitrogen': 0.7553, 'oxygen': 0.2318}, 'rho': 0.001205}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Aluminum#

Bases: Compound

bdsim_data = loss_c0                 4.776017e-01 loss_c1                 2.388898e-03 loss_c2                -9.353665e-06 loss_c3                 3.640596e-08 energy_dispersion_c0    1.701287e-01 energy_dispersion_c1   -4.565674e-03 energy_dispersion_c2    5.405463e-05 energy_dispersion_c3   -3.310529e-07 energy_dispersion_c4    1.021881e-09 energy_dispersion_c5   -1.260018e-12 Name: aluminum, dtype: float64#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'aluminum': 1.0}, 'rho': 2.6989}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Antimony#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'antimony': 1.0}, 'rho': 6.691}#
projected_range = None#
class georges.fermi.materials.Argon#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'argon': 1.0}, 'rho': 1.4}#
projected_range = None#
class georges.fermi.materials.Arsenic#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'arsenic': 1.0}, 'rho': 5.73}#
projected_range = None#
class georges.fermi.materials.Barium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'barium': 1.0}, 'rho': 3.5}#
projected_range = None#
class georges.fermi.materials.Beryllium#

Bases: Compound

bdsim_data = loss_c0                 3.280128e-01 loss_c1                 3.520963e-03 loss_c2                -1.486702e-05 loss_c3                 5.125886e-08 energy_dispersion_c0    1.627209e-01 energy_dispersion_c1   -4.389810e-03 energy_dispersion_c2    5.219676e-05 energy_dispersion_c3   -3.209168e-07 energy_dispersion_c4    9.941864e-10 energy_dispersion_c5   -1.229915e-12 Name: beryllium, dtype: float64#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'beryllium': 1.0}, 'rho': 1.848}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Bismuth#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'bismuth': 1.0}, 'rho': 9.747}#
projected_range = None#
class georges.fermi.materials.Boron#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'boron': 1.0}, 'rho': 2.34}#
projected_range = None#
class georges.fermi.materials.Boroncarbide#

Bases: Compound

bdsim_data = loss_c0                 3.835081e-01 loss_c1                 3.079425e-03 loss_c2                -1.245960e-05 loss_c3                 4.473862e-08 energy_dispersion_c0    1.299336e-01 energy_dispersion_c1   -3.304552e-03 energy_dispersion_c2    3.793052e-05 energy_dispersion_c3   -2.282145e-07 energy_dispersion_c4    6.974262e-10 energy_dispersion_c5   -8.561806e-13 Name: boroncarbide, dtype: float64#
csda_range = None#
material_data = {'fractions': {'boron': 0.7826, 'carbon': 0.2174}, 'rho': 2.52}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Bromine#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'bromine': 1.0}, 'rho': 3.12}#
projected_range = None#
class georges.fermi.materials.Cadmium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'cadmium': 1.0}, 'rho': 8.65}#
projected_range = None#
class georges.fermi.materials.Calcium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'calcium': 1.0}, 'rho': 1.55}#
projected_range = None#
class georges.fermi.materials.Carbon#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'carbon': 1.0}, 'rho': 2.2}#
projected_range = None#
class georges.fermi.materials.Cerium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'cerium': 1.0}, 'rho': 6.77}#
projected_range = None#
class georges.fermi.materials.Cesium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'cesium': 1.0}, 'rho': 1.873}#
projected_range = None#
class georges.fermi.materials.Chlorine#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'chlorine': 1.0}, 'rho': 1.56}#
projected_range = None#
class georges.fermi.materials.Chromium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'chromium': 1.0}, 'rho': 7.19}#
projected_range = None#
class georges.fermi.materials.Cobalt#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'cobalt': 1.0}, 'rho': 8.9}#
projected_range = None#
class georges.fermi.materials.Copper#

Bases: Compound

bdsim_data = None#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'copper': 1.0}, 'rho': 8.96}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Diamond#

Bases: Compound

bdsim_data = loss_c0                 4.132866e-01 loss_c1                 3.013564e-03 loss_c2                -1.246011e-05 loss_c3                 4.381999e-08 energy_dispersion_c0    1.435973e-01 energy_dispersion_c1   -3.733342e-03 energy_dispersion_c2    4.339544e-05 energy_dispersion_c3   -2.629285e-07 energy_dispersion_c4    8.065977e-10 energy_dispersion_c5   -9.918030e-13 Name: diamond, dtype: float64#
csda_range = None#
material_data = {'fractions': {'carbon': 1}, 'rho': 3.52}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Dysprosium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'dysprosium': 1.0}, 'rho': 8.551}#
projected_range = None#
class georges.fermi.materials.Erbium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'erbium': 1.0}, 'rho': 9.066}#
projected_range = None#
class georges.fermi.materials.Europium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'europium': 1.0}, 'rho': 5.244}#
projected_range = None#
class georges.fermi.materials.Fluorine#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'fluorine': 1.0}, 'rho': 1.5}#
projected_range = None#
class georges.fermi.materials.Gadolinium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'gadolinium': 1.0}, 'rho': 7.901}#
projected_range = None#
class georges.fermi.materials.Gallium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'gallium': 1.0}, 'rho': 5.904}#
projected_range = None#
class georges.fermi.materials.Germanium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'germanium': 1.0}, 'rho': 5.323}#
projected_range = None#
class georges.fermi.materials.Gold#

Bases: Compound

bdsim_data = None#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'gold': 1.0}, 'rho': 19.3}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Graphite#

Bases: Compound

bdsim_data = loss_c0                 4.064714e-01 loss_c1                 3.064640e-03 loss_c2                -1.228711e-05 loss_c3                 4.217441e-08 energy_dispersion_c0    1.652145e-01 energy_dispersion_c1   -4.452450e-03 energy_dispersion_c2    5.286829e-05 energy_dispersion_c3   -3.246305e-07 energy_dispersion_c4    1.004647e-09 energy_dispersion_c5   -1.241872e-12 Name: graphite, dtype: float64#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'carbon': 1}, 'rho': 1.7}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Hafnium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'hafnium': 1.0}, 'rho': 13.31}#
projected_range = None#
class georges.fermi.materials.Helium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'helium': 1.0}, 'rho': 0.122}#
projected_range = None#
class georges.fermi.materials.Holmium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'holmium': 1.0}, 'rho': 8.795}#
projected_range = None#
class georges.fermi.materials.Hydrogen#

Bases: Compound

bdsim_data = None#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'hydrogen': 1.0}, 'rho': 0.0708}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Indium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'indium': 1.0}, 'rho': 7.31}#
projected_range = None#
class georges.fermi.materials.Iodine#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'iodine': 1.0}, 'rho': 4.93}#
projected_range = None#
class georges.fermi.materials.Iridium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'iridium': 1.0}, 'rho': 22.42}#
projected_range = None#
class georges.fermi.materials.Iron#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'iron': 1.0}, 'rho': 7.874}#
projected_range = None#
class georges.fermi.materials.Kapton#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'carbon': 69.11, 'hydrogen': 2.64, 'nitrogen': 7.33, 'oxygen': 20.92}, 'rho': 1.42}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Krypton#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'krypton': 1.0}, 'rho': 2.16}#
projected_range = None#
class georges.fermi.materials.Lanthanum#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'lanthanum': 1.0}, 'rho': 6.145}#
projected_range = None#
class georges.fermi.materials.Lead#

Bases: Compound

bdsim_data = loss_c0                 6.842188e-01 loss_c1                 6.677328e-04 loss_c2                 1.011872e-06 loss_c3                 7.443100e-09 energy_dispersion_c0    2.138285e-01 energy_dispersion_c1   -5.797984e-03 energy_dispersion_c2    6.889810e-05 energy_dispersion_c3   -4.229857e-07 energy_dispersion_c4    1.309473e-09 energy_dispersion_c5   -1.620274e-12 Name: lead, dtype: float64#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'lead': 1.0}, 'rho': 11.35}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Lexan#

Bases: Compound

bdsim_data = loss_c0                 4.317165e-01 loss_c1                 2.943683e-03 loss_c2                -1.138373e-05 loss_c3                 3.821992e-08 energy_dispersion_c0    1.648007e-01 energy_dispersion_c1   -4.449588e-03 energy_dispersion_c2    5.291249e-05 energy_dispersion_c3   -3.252866e-07 energy_dispersion_c4    1.007689e-09 energy_dispersion_c5   -1.246725e-12 Name: lexan, dtype: float64#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'carbon': 0.7557, 'hydrogen': 0.0555, 'oxygen': 0.1888}, 'rho': 1.2}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Lithium#

Bases: Compound

bdsim_data = loss_c0                 2.616993e-01 loss_c1                 4.717224e-03 loss_c2                -2.167246e-05 loss_c3                 6.368819e-08 energy_dispersion_c0    2.406052e-01 energy_dispersion_c1   -6.974592e-03 energy_dispersion_c2    8.640709e-05 energy_dispersion_c3   -5.443106e-07 energy_dispersion_c4    1.711101e-09 energy_dispersion_c5   -2.133526e-12 Name: lithium, dtype: float64#
csda_range = None#
material_data = {'fractions': {'lithium': 1.0}, 'rho': 0.534}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Lutetium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'lutetium': 1.0}, 'rho': 9.841}#
projected_range = None#
class georges.fermi.materials.Magnesium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'magnesium': 1.0}, 'rho': 1.738}#
projected_range = None#
class georges.fermi.materials.Manganese#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'manganese': 1.0}, 'rho': 7.33}#
projected_range = None#
class georges.fermi.materials.Mercury#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'mercury': 1.0}, 'rho': 13.546}#
projected_range = None#
class georges.fermi.materials.Molybdenum#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'molybdenum': 1.0}, 'rho': 10.22}#
projected_range = None#
class georges.fermi.materials.Mylar#

Bases: Compound

bdsim_data = None#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'carbon': 0.625, 'hydrogen': 0.042, 'oxygen': 0.333}, 'rho': 1.4}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Neodymium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'neodymium': 1.0}, 'rho': 7.008}#
projected_range = None#
class georges.fermi.materials.Neon#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'neon': 1.0}, 'rho': 1.207}#
projected_range = None#
class georges.fermi.materials.Nickel#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'nickel': 1.0}, 'rho': 8.902}#
projected_range = None#
class georges.fermi.materials.Niobium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'niobium': 1.0}, 'rho': 8.57}#
projected_range = None#
class georges.fermi.materials.Nitrogen#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'nitrogen': 1.0}, 'rho': 0.808}#
projected_range = None#
class georges.fermi.materials.Osmium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'osmium': 1.0}, 'rho': 22.57}#
projected_range = None#
class georges.fermi.materials.Oxygen#

Bases: Compound

bdsim_data = None#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'oxygen': 1.0}, 'rho': 1.14}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Palladium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'palladium': 1.0}, 'rho': 12.02}#
projected_range = None#
class georges.fermi.materials.Phosphorus#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'phosphorus': 1.0}, 'rho': 1.82}#
projected_range = None#
class georges.fermi.materials.Platinum#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'platinum': 1.0}, 'rho': 21.45}#
projected_range = None#
class georges.fermi.materials.Polonium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'polonium': 1.0}, 'rho': 9.32}#
projected_range = None#
class georges.fermi.materials.Polyethylene#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'carbon': 0.8563, 'hydrogen': 0.1437}, 'rho': 0.94}#
projected_range = None#
class georges.fermi.materials.Polystyrene#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'carbon': 0.9226, 'hydrogen': 0.074}, 'rho': 1.06}#
projected_range = None#
class georges.fermi.materials.Potassium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'potassium': 1.0}, 'rho': 0.862}#
projected_range = None#
class georges.fermi.materials.Praseodymium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'praseodymium': 1.0}, 'rho': 6.773}#
projected_range = None#
class georges.fermi.materials.Promethium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'promethium': 1.0}, 'rho': 7.264}#
projected_range = None#
class georges.fermi.materials.Protactinium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'protactinium': 1.0}, 'rho': 15.37}#
projected_range = None#
class georges.fermi.materials.Rhenium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'rhenium': 1.0}, 'rho': 21.02}#
projected_range = None#
class georges.fermi.materials.Rhodium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'rhodium': 1.0}, 'rho': 12.41}#
projected_range = None#
class georges.fermi.materials.Rubidium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'rubidium': 1.0}, 'rho': 1.532}#
projected_range = None#
class georges.fermi.materials.Ruthenium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'ruthenium': 1.0}, 'rho': 12.41}#
projected_range = None#
class georges.fermi.materials.Samarium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'samarium': 1.0}, 'rho': 7.52}#
projected_range = None#
class georges.fermi.materials.Scandium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'scandium': 1.0}, 'rho': 2.989}#
projected_range = None#
class georges.fermi.materials.Selenium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'selenium': 1.0}, 'rho': 4.79}#
projected_range = None#
class georges.fermi.materials.Silicon#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'silicon': 1.0}, 'rho': 2.33}#
projected_range = None#
class georges.fermi.materials.Silver#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'silver': 1.0}, 'rho': 10.5}#
projected_range = None#
class georges.fermi.materials.Sodium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'sodium': 1.0}, 'rho': 0.971}#
projected_range = None#
class georges.fermi.materials.Strontium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'strontium': 1.0}, 'rho': 2.54}#
projected_range = None#
class georges.fermi.materials.Sulfur#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'sulfur': 1.0}, 'rho': 2.07}#
projected_range = None#
class georges.fermi.materials.Tantalum#

Bases: Compound

bdsim_data = loss_c0                 6.808608e-01 loss_c1                 6.849190e-04 loss_c2                 6.030897e-07 loss_c3                 9.193362e-09 energy_dispersion_c0    2.259040e-01 energy_dispersion_c1   -6.208174e-03 energy_dispersion_c2    7.432943e-05 energy_dispersion_c3   -4.581623e-07 energy_dispersion_c4    1.421026e-09 energy_dispersion_c5   -1.758961e-12 Name: tantalum, dtype: float64#
csda_range = None#
material_data = {'fractions': {'tantalum': 1.0}, 'rho': 16.654}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Technetium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'technetium': 1.0}, 'rho': 11.5}#
projected_range = None#
class georges.fermi.materials.Tellurium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'tellurium': 1.0}, 'rho': 6.24}#
projected_range = None#
class georges.fermi.materials.Terbium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'terbium': 1.0}, 'rho': 8.23}#
projected_range = None#
class georges.fermi.materials.Thallium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'thallium': 1.0}, 'rho': 11.85}#
projected_range = None#
class georges.fermi.materials.Thorium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'thorium': 1.0}, 'rho': 11.72}#
projected_range = None#
class georges.fermi.materials.Thulium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'thulium': 1.0}, 'rho': 9.321}#
projected_range = None#
class georges.fermi.materials.Tin#

Bases: Compound

bdsim_data = None#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'tin': 1.0}, 'rho': 7.31}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Titanium#

Bases: Compound

bdsim_data = loss_c0                 5.694348e-01 loss_c1                 1.509782e-03 loss_c2                -5.251055e-06 loss_c3                 2.778493e-08 energy_dispersion_c0    1.713450e-01 energy_dispersion_c1   -4.573584e-03 energy_dispersion_c2    5.403506e-05 energy_dispersion_c3   -3.309476e-07 energy_dispersion_c4    1.023146e-09 energy_dispersion_c5   -1.264985e-12 Name: titanium, dtype: float64#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'titanium': 1.0}, 'rho': 4.54}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Uranium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'uranium': 1.0}, 'rho': 18.95}#
projected_range = None#
class georges.fermi.materials.Vacuum#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'argon': 0.0128, 'carbon': 0.0001, 'nitrogen': 0.7553, 'oxygen': 0.2318}, 'rho': '1e-25'}#
projected_range = None#
class georges.fermi.materials.Vanadium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'vanadium': 1.0}, 'rho': 6.11}#
projected_range = None#
class georges.fermi.materials.Water#

Bases: Compound

bdsim_data = loss_c0                 4.613549e-01 loss_c1                 2.753417e-03 loss_c2                -1.012120e-05 loss_c3                 3.363575e-08 energy_dispersion_c0    1.510655e-01 energy_dispersion_c1   -3.989068e-03 energy_dispersion_c2    4.679869e-05 energy_dispersion_c3   -2.852908e-07 energy_dispersion_c4    8.791651e-10 energy_dispersion_c5   -1.084591e-12 Name: water, dtype: float64#
csda_range = <scipy.interpolate._cubic.CubicSpline object>#
material_data = {'fractions': {'hydrogen': 0.1119, 'oxygen': 0.8881}, 'rho': 1.0}#
projected_range = <scipy.interpolate._cubic.CubicSpline object>#
class georges.fermi.materials.Wolfram#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'wolfram': 1.0}, 'rho': 19.3}#
projected_range = None#
class georges.fermi.materials.Xenon#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'xenon': 1.0}, 'rho': 3.52}#
projected_range = None#
class georges.fermi.materials.Ytterbium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'ytterbium': 1.0}, 'rho': 6.966}#
projected_range = None#
class georges.fermi.materials.Yttrium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'yttrium': 1.0}, 'rho': 4.469}#
projected_range = None#
class georges.fermi.materials.Zinc#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'zinc': 1.0}, 'rho': 7.133}#
projected_range = None#
class georges.fermi.materials.Zirconium#

Bases: Compound

bdsim_data = None#
csda_range = None#
material_data = {'fractions': {'zirconium': 1.0}, 'rho': 6.506}#
projected_range = None#

georges.fermi.mcs module#

TODO

class georges.fermi.mcs.ScatteringModelType[source]#

Bases: type

static t(pv: float, p1v1: float, **kwargs) float[source]#
class georges.fermi.mcs.FermiRossi[source]#

Bases: object

static t(pv: float, p1v1: float, **kwargs) float[source]#
Parameters:
  • pv

  • p1v1

  • **kwargs

Returns:

class georges.fermi.mcs.DifferentialHighland[source]#

Bases: object

static length(x, chi0)[source]#
Parameters:
  • x

  • chi0

Returns:

static f_dh(length)[source]#
Parameters:

length

Returns:

static t(pv: float, p1v1: float, **kwargs) float[source]#
Parameters:
  • pv

  • p1v1

  • **kwargs

Returns:

class georges.fermi.mcs.ICRU[source]#

Bases: object

static t(pv: float, p1v1: float, **kwargs) float[source]#
Parameters:
  • pv

  • p1v1

  • **kwargs

Returns:

class georges.fermi.mcs.ICRUProtons[source]#

Bases: object

static t(pv: float, p1v1: float, **kwargs) float[source]#
Parameters:
  • pv

  • p1v1

  • **kwargs

Returns:

class georges.fermi.mcs.DifferentialMoliere[source]#

Bases: object

static t(pv: float, p1v1: float, **kwargs) float[source]#
Parameters:
  • pv

  • p1v1

  • **kwargs

Returns:

static f_dm(p1v1: float, pv: float)[source]#
Parameters:
  • p1v1

  • pv

Returns:

georges.fermi.propagation module#

TODO

georges.fermi.propagation.track_energy(sequence: Sequence, energy: Quantity)[source]#
georges.fermi.propagation.propagate(sequence: ~georges_core.sequences.sequence.Sequence, energy: ~pint.Quantity, beam: ~typing.Mapping | None = None, model=<class 'georges.fermi.mcs.DifferentialMoliere'>)[source]#
Parameters:
  • sequence – Sequence to track in

  • energy – Beam energy

  • beam – A_i beam parameters

  • model – Model to use. Default is DifferentialMoliere

Returns:

Module contents#