Skip to content
Snippets Groups Projects
Commit 81901a6e authored by Laura Nervo's avatar Laura Nervo
Browse files

gtSymmetricReflections : used calculation of hklsp inside gtCrystSignedHKLs...

gtSymmetricReflections : used calculation of hklsp inside gtCrystSignedHKLs and already transform into rows as output. Removed trasposing from gtFillCrystFields

Signed-off-by: default avatarLaura Nervo <laura.nervo@esrf.fr>
parent 1609e788
No related branches found
No related tags found
No related merge requests found
...@@ -321,12 +321,5 @@ function parameters = sfExpandData(parameters, phase_id) ...@@ -321,12 +321,5 @@ function parameters = sfExpandData(parameters, phase_id)
parameters.cryst(phase_id) = gtAddMatFile(parameters.cryst(phase_id), hklsymmetry, true, true, false); parameters.cryst(phase_id) = gtAddMatFile(parameters.cryst(phase_id), hklsymmetry, true, true, false);
clear hklsymmetry; clear hklsymmetry;
% Transpose arrays to have rows
parameters.cryst(phase_id).hklsp = parameters.cryst(phase_id).hklsp';
parameters.cryst(phase_id).thetatypesp = parameters.cryst(phase_id).thetatypesp';
parameters.cryst(phase_id).thetasp = parameters.cryst(phase_id).thetasp';
parameters.cryst(phase_id).dspacingsp = parameters.cryst(phase_id).dspacingsp';
parameters.cryst(phase_id).intsp = parameters.cryst(phase_id).intsp';
end % end of sfExpandData end % end of sfExpandData
...@@ -45,43 +45,35 @@ function results = gtSymmetricReflections(cryst, energy) ...@@ -45,43 +45,35 @@ function results = gtSymmetricReflections(cryst, energy)
symm = gtCrystGetSymmetryOperators(cryst.crystal_system, cryst.spacegroup); symm = gtCrystGetSymmetryOperators(cryst.crystal_system, cryst.spacegroup);
hkltypes_used = double(cryst.hkl); hkltypes_used = double(cryst.hkl);
if size(hkltypes_used,2) > size(hkltypes_used,1) if isrow(hkltypes_used) % we want columns to give to gtCrystSignedHKLs
hkltypes_used = hkltypes_used'; hkltypes_used = hkltypes_used';
end end
% 4 columns needed for hexagonal % 4 columns needed for hexagonal
if strcmpi(cryst.crystal_system,'hexagonal') && size(hkltypes_used,2)==3 if strcmpi(cryst.crystal_system,'hexagonal') && size(hkltypes_used,1)==3
hkltypes_used(:,4) = hkltypes_used(:,3); hkltypes_used(4,:) = hkltypes_used(3,:);
hkltypes_used(:,3) = -hkltypes_used(:,1)-hkltypes_used(:,2); hkltypes_used(3,:) = -hkltypes_used(1,:)-hkltypes_used(2,:);
end end
hklsp = [];
hkl = [];
thtype = [];
intensity = [];
mult = [];
% 4 columns needed for hexagonal [~, ~, mult, hklsp, thtype] = gtCrystSignedHKLs(hkltypes_used, symm);
for ii = 1:size(hkltypes_used,1)
allhkls_i = gtCrystSignedHKLs(hkltypes_used(ii,:), symm); intensity = [];
nhkls = size(allhkls_i,1)/2; for ii = 1:length(hkltypes_used)
hklsp = [hklsp; allhkls_i(nhkls+1:end,:)]; nhkls = mult(ii)/2;
hkl = [hkl; repmat(hkltypes_used(ii,:),nhkls,1)];
thtype = [thtype; repmat(ii,nhkls,1)];
intensity = [intensity; repmat(cryst.int(ii),nhkls,1)]; intensity = [intensity; repmat(cryst.int(ii),nhkls,1)];
mult = [mult; nhkls*2];
end end
Bmat = gtCrystHKL2CartesianMatrix(cryst.latticepar); Bmat = gtCrystHKL2CartesianMatrix(cryst.latticepar);
dsp = gtCrystDSpacing(hklsp', Bmat); dspacingsp = gtCrystDSpacing(hklsp', Bmat);
theta = gtCrystTheta(dsp, energy); thetasp = gtCrystTheta(dspacingsp, energy);
% simpler output (should ditch the hashtable) % simpler output - rows output
results.hklsp = hklsp; results.hklsp = hklsp';
results.thetasp = theta'; results.thetasp = thetasp;
results.dspacingsp = dsp'; results.dspacingsp = dspacingsp;
results.thetatypesp = thtype; results.thetatypesp = thtype';
results.intsp = intensity; results.intsp = intensity';
results.mult = mult; results.mult = mult';
end % end of function end % end of function
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment