:mod:`ocelot.optics.bragg` ========================== .. py:module:: ocelot.optics.bragg .. autoapi-nested-parse:: crystal optics Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: ocelot.optics.bragg.Element ocelot.optics.bragg.CrystalLattice ocelot.optics.bragg.CrystalCell ocelot.optics.bragg.StructureFactorFactory ocelot.optics.bragg.CrystalStructureFactors Functions ~~~~~~~~~ .. autoapisummary:: ocelot.optics.bragg.calc_angle ocelot.optics.bragg.f_scat ocelot.optics.bragg.load_stucture_factors ocelot.optics.bragg.save_stucture_factors ocelot.optics.bragg.F_hkl ocelot.optics.bragg.find_bragg ocelot.optics.bragg.plot_bragg_reflections ocelot.optics.bragg.plot_scattering_factors ocelot.optics.bragg.eta ocelot.optics.bragg.xij ocelot.optics.bragg.MP ocelot.optics.bragg.D0_Dh ocelot.optics.bragg.transmissivity_reflectivity ocelot.optics.bragg.get_crystal_filter ocelot.optics.bragg.unfold_angles .. data:: _logger .. data:: m :annotation: = 1.0 .. data:: cm :annotation: = 0.01 .. data:: mm :annotation: = 0.001 .. data:: mum :annotation: = 1e-06 .. data:: nm :annotation: = 1e-09 .. data:: A :annotation: = 1e-10 .. data:: K :annotation: = 1.0 .. data:: hbar :annotation: = 6.58211928e-16 .. data:: c :annotation: = 299792458.0 .. data:: r_el :annotation: = 2.8179403267e-15 .. function:: calc_angle(a, b) yields angle between vectors "a"=(ax,ay,az) and "b"=(bx,by,bz) in degrees .. py:class:: Element .. data:: elements .. data:: Z :annotation: = 1 .. data:: A :annotation: = 1 .. data:: Z :annotation: = 6 .. data:: A :annotation: = 12 .. data:: lattice_unit_cells .. data:: cells .. py:class:: CrystalLattice(element_name) .. py:class:: CrystalCell(element_name) .. data:: g1 .. data:: lattice .. data:: temp .. data:: s0 :annotation: = [0, 0, 1] .. py:class:: StructureFactorFactory .. method:: atomic_structure_factor(self, element, model='spherical_elastic') .. method:: f_spher(self, a, k) atomic scattering factor for hydrogen-like charge density of radius a k is the momentum transfer sin(theta)/lambda .. method:: f_sperical_elastic(self, element) .. function:: f_scat(phi, lambd) atomic scattering factor .. py:class:: CrystalStructureFactors .. function:: load_stucture_factors(file_name) .. function:: save_stucture_factors(cdata, file_name) .. function:: F_hkl(cryst, ref_idx, lamb, temp) .. function:: find_bragg(lambd, lattice, ord_max) .. function:: plot_bragg_reflections(idc=[(0, 0, 1), (1, 1, 1), (2, 1, 1), (3, 1, 1), (1, 2, 3), (4, 0, 0)]) .. function:: plot_scattering_factors() .. function:: eta(Dtheta, cryst) Description : Calculates the eta factor as from Authier, p.136 Eq. 5.31 .. function:: xij(Dtheta, cryst) Description : Calculates the xijp factor as from Authier: Laue : Eq. 5.36 Bragg : Eq. 5.38 .. function:: MP(Dtheta, cryst) Description : Calculates the MPp factor as from Authier p185: Laue : Eq. 6.15, Bragg Eq. 7.9 .. function:: D0_Dh(Dtheta, cryst) .. function:: transmissivity_reflectivity(klist, cryst) .. function:: get_crystal_filter(cryst, ev_seed, nk=10000, k=None, n_width=100) .. function:: unfold_angles(Phlist)