Am Donnerstag 23 Dezember 2010 17:06:00 schrieb Ralf W. Grosse-Kunstleve:
Hi Jan,
So, do I have to edit/patch cctbx/xray/structure.py: to achieve the desired behaviour
Yes, just to test if it does what you need.
Ok, after this change those cif files can be used to calculate f and d values as well. As far as I understand the code (in /eltbx/xray_scattering.h) setting exact=False leads to using the form factor of the bare atom from the form factor coefficient table, so in case an ion is in the table it will still be using the optimised form factor for this, right?
or is there a better way? (Imho best way would be to have more optional parameters for structure.structure_factors().f_calc().)
It would fit better to expose the "exact" setting as an optional parameter of xray.structure.scattering_type_registry(), under some more telling name, maybe "exact_table_lookup". The idea is that you call this method before doing any structure factor calculations if the settings need to be customized. The last explicit call determines the state of the registry. (I know this mechanism isn't obvious, but I was trying to avoid introducing even deeper object hierarchies.)
That mechanism would definatly need some documentation then (with a hit to the docs in structure.structure_factors() docstring [1]). I'm willing to work on inducing verbose docstrings to the python interface (after xmas break), i'f you're OK with this. [1] http://tovid.wikia.com/wiki/Python_tips/Docstrings With regards, Dipl. Pyhs. Jan M. Simons Institute of Crystallography RWTH Aachen University