Skip to content
Snippets Groups Projects
gtHex2Cart.m 751 B
Newer Older
function cartesian = gtHex2Cart(hkil, latticepar)
% GTHEX2CART  
%     cartesian = gtHex2Cart(hkil, latticepar)
%     ----------------------------------------
%     Transforms from direct hexagonal to cartesian coordinates
%     and normalise
%
% Same as the old function gtCrystHKL2Cart


for i=1:size(hkil,1)
    cartesian(i,1) = hkil(i,1) + 0.5 * hkil(i,2);
    cartesian(i,2) = 3^0.5/2 *hkil(i,2);
    cartesian(i,3) = hkil(i,4);

    % allow lattice parameters
    cartesian(i,1) = cartesian(i,1)*2/(sqrt(3)*latticepar(1));
    cartesian(i,2) = cartesian(i,2)*2/(sqrt(3)*latticepar(1));
    cartesian(i,3) = cartesian(i,3)/latticepar(3);
end


% normalise
tmp = sqrt(sum((cartesian.*cartesian),2));
cartesian = cartesian./(repmat(tmp,1,3));

end