Anomalous diffraction theory