Advertisement
rouf185

matlabProj

Jan 25th, 2023
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.31 KB | None | 0 0
  1. rawdata = importdata('input.txt');
  2. %photon = rawdata(isphoton~=0,:);
  3. x = rawdata(:,2); y = rawdata(:,3); xcos = rawdata(:,5); ycos = rawdata(:,6); E = rawdata(:,7);
  4.  
  5. xround = round(x);
  6. yround = round(y);
  7. xcosround = round(xcos.*100)./100;
  8. ycosround = round(ycos.*100)./100;
  9.  
  10. xidx = unique(xround);
  11. yidx = unique(yround);
  12. xcosidx = unique(xcosround);
  13. ycosidx = unique(ycosround);
  14.  
  15. xarray = -1:1;
  16. yarray = -1:1;
  17. xcosarray = -1:0.01:1;
  18. xcosarray = round(xcosarray.*100)./100;
  19. ycosarray = -1:0.01:1;
  20. ycosarray = round(ycosarray.*100)./100;
  21.  
  22. Egrid = nan(length(xarray),length(yarray),length(xcosarray),length(ycosarray));
  23. for xid = 1:length(xarray)
  24.     for yid = 1:length(yarray)
  25.         for xcosid = 1:length(xcosarray)
  26.             for ycosid = 1:length(ycosarray)
  27.                 oneid = xround==xarray(xid) & yround==yarray(yid) & xcosround==xcosarray(xcosid) & ycosround==ycosarray(ycosid);
  28.                 oneid = oneid(oneid~=0);
  29.                 if(~isempty(oneid))
  30.                     Egrid(xid,yid,xcosid,ycosid) = E(oneid(1));
  31.                 end
  32.             end
  33.         end
  34.     end
  35. end
  36.        
  37. nF = max(Egrid(~isnan(Egrid)));
  38. Egrid = Egrid./nF;
  39. Egrid = permute(Egrid,[4,3,2,1]);
  40.  
  41. Egrid(isnan(Egrid)) = -1;
  42. tid = fopen('Egrid.bin','w');
  43. fwrite(tid,Egrid,'float');
  44. fclose(tid);
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement