1 #pragma rtGlobals=3 // Use modern global access method and strict wave access. 2 #pragma IgorVersion = 6.2 3 #pragma ModuleName = PearlPmscoImport 88 function /s
pmsco_save_scan(pathname, filename, energy, theta, phi, alpha, intensity, sigma, [sdfr])
102 dfref savedf = GetDataFolderDFR()
103 dfref tempdf = NewFreeDataFolder()
105 if (ParamIsDefault(sdfr))
109 wave w_intensity = $intensity
110 string wavenames = ""
112 wavenames =
save_scan_helper("w_energy", energy, w_intensity, tempdf, wavenames)
113 wavenames =
save_scan_helper("w_theta", theta, w_intensity, tempdf, wavenames)
115 wavenames =
save_scan_helper("w_alpha", alpha, w_intensity, tempdf, wavenames)
116 wavenames =
save_scan_helper("w_intensity", intensity, w_intensity, tempdf, wavenames)
117 wavenames =
save_scan_helper("w_sigma", sigma, w_intensity, tempdf, wavenames)
120 save /b /g /m="\n" /p=$pathname wavenames as filename
134 if (strlen(value) > 0)
135 if (exists(value) == 1)
136 duplicate $value, destdfr:$destname
137 wave /sdfr=destdfr w=$destname
139 duplicate template, destdfr:$destname
140 wave /sdfr=destdfr w=$destname
141 variable numval = str2num(value)
143 if (numtype(numval) == 0)
149 w = DimOffset(template, 0) + DimDelta(template, 0) * p
152 w = DimOffset(template, 1) + DimDelta(template, 1) * q
155 w = DimOffset(template, 2) + DimDelta(template, 2) * r
158 w = DimOffset(template, 3) + DimDelta(template, 3) * s
162 sprintf msg, "invalid %s argument", StringFromList(1, destname, "_")
167 wavenames = AddListItem(destname, wavenames, ";", inf)
168 variable npts = DimSize(w, 0) * max(DimSize(w, 1), 1) * max(DimSize(w, 2), 1) * max(DimSize(w, 3), 1)
169 Redimension /n=(npts) w
192 string cis = "N=at;N=xx;N=yy;N=zz;"
193 LoadWave /A /B=cis /J /K=0 /L={0, 2, 0, 0, 0} /V={
" ",
" ", 0, 0} /O /P=$pathname filename
195 at = unpadstring(at, 32)
string pmsco_save_scan(string pathname, string filename, string energy, string theta, string phi, string alpha, string intensity, string sigma, dfref sdfr=defaultValue)
save waves in a PMSCO scan data file.
static string save_scan_helper(string destname, string value, wave template, dfref destdfr, string wavenames)
helper function for save_pmsco_scan()
string pmsco_load_xyz(string pathname, string filename)
load an xyz cluster file