source: sans/Release/trunk/NCNR_User_Procedures/SANS/Analysis/Models/NewModels_2006/SchulzSpheres_Sq_v40.ipf @ 345

Last change on this file since 345 was 345, checked in by srkline, 15 years ago

Merging NewModels_2006 back into where it belongs

File size: 17.5 KB
Line 
1#pragma rtGlobals=1             // Use modern global access method.
2#pragma IgorVersion = 6.0
3
4//
5// be sure to include all of the necessary files
6//
7#include "SchulzSpheres_v40"
8
9#include "HardSphereStruct_v40"
10#include "HPMSA_v40"
11#include "SquareWellStruct_v40"
12#include "StickyHardSphereStruct_v40"
13
14Proc PlotSchulzSpheres_HS(num,qmin,qmax)
15        Variable num=128,qmin=0.001,qmax=0.7
16        Prompt num "Enter number of data points for model: "
17        Prompt qmin "Enter minimum q-value (^-1) for model: "
18        Prompt qmax "Enter maximum q-value (^-1) for model: "
19       
20        Make/O/D/N=(num) xwave_sch_HS,ywave_sch_HS
21        xwave_sch_HS = alog( log(qmin) + x*((log(qmax)-log(qmin))/num) )
22        Make/O/D coef_sch_HS = {0.01,60,0.2,1e-6,3e-6,0.001}
23        make/O/T parameters_sch_HS = {"Volume Fraction (scale)","mean radius (A)","polydisp (sig/avg)","SLD sphere (A-2)","SLD solvent (A-2)","bkg (cm-1 sr-1)"}
24        Edit parameters_sch_HS,coef_sch_HS
25       
26        Variable/G root:g_sch_HS
27        g_sch_HS := SchulzSpheres_HS(coef_sch_HS,ywave_sch_HS,xwave_sch_HS)
28        Display ywave_sch_HS vs xwave_sch_HS
29        ModifyGraph log=1,marker=29,msize=2,mode=4
30        Label bottom "q (\\S-1\\M)"
31        Label left "Intensity (cm\\S-1\\M)"
32        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
33       
34        AddModelToStrings("SchulzSpheres_HS","coef_sch_HS","sch_HS")
35End
36
37// - sets up a dependency to a wrapper, not the actual SmearedModelFunction
38Proc PlotSmearedSchulzSpheres_HS(str)                                                           
39        String str
40        Prompt str,"Pick the data folder containing the resolution you want",popup,getAList(4)
41       
42        // if any of the resolution waves are missing => abort
43        if(ResolutionWavesMissingDF(str))               //updated to NOT use global strings (in GaussUtils)
44                Abort
45        endif
46       
47        SetDataFolder $("root:"+str)
48       
49        // Setup parameter table for model function
50        Make/O/D smear_coef_sch_HS = {0.01,60,0.2,1e-6,3e-6,0.001}                                     
51        make/o/t smear_parameters_sch_HS = {"Volume Fraction (scale)","mean radius (A)","polydisp (sig/avg)","SLD sphere (A-2)","SLD solvent (A-2)","bkg (cm-1 sr-1)"} 
52        Edit smear_parameters_sch_HS,smear_coef_sch_HS                                 
53       
54        // output smeared intensity wave, dimensions are identical to experimental QSIG values
55        // make extra copy of experimental q-values for easy plotting
56        Duplicate/O $(str+"_q") smeared_sch_HS,smeared_qvals                           
57        SetScale d,0,0,"1/cm",smeared_sch_HS                                                   
58                                       
59        Variable/G gs_sch_HS=0
60        gs_sch_HS := fSmearedSchulzSpheres_HS(smear_coef_sch_HS,smeared_sch_HS,smeared_qvals)   //this wrapper fills the STRUCT
61       
62        Display smeared_sch_HS vs smeared_qvals                                                                 
63        ModifyGraph log=1,marker=29,msize=2,mode=4
64        Label bottom "q (\\S-1\\M)"
65        Label left "Intensity (cm\\S-1\\M)"
66        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
67       
68        SetDataFolder root:
69        AddModelToStrings("SmearedSchulzSpheres_HS","smear_coef_sch_HS","sch_HS")
70End
71       
72
73
74Function SchulzSpheres_HS(w,yw,xw) : FitFunc
75        Wave w,yw,xw
76       
77        Variable inten
78       
79        //setup form factor coefficient wave
80        Make/O/D/N=6 form_sch_HS
81        form_sch_HS[0] = 1
82        form_sch_HS[1] = w[1]
83        form_sch_HS[2] = w[2]
84        form_sch_HS[3] = w[3]
85        form_sch_HS[4] = w[4]
86        form_sch_HS[5] = 0
87       
88        //calculate the diameter of the effective one-component sphere
89        Variable pd,diam,zz,Vpoly,Ravg
90        pd = w[2]
91        zz = (1/pd)^2 - 1
92        Ravg = w[1]
93       
94        Vpoly = 4*pi/3*(Ravg)^3*(zz+3)*(zz+2)/(zz+1)^2
95        diam = (6*Vpoly/pi)^(1/3)
96       
97       
98        //setup structure factor coefficient wave
99        Make/O/D/N=2 struct_sch_HS
100        struct_sch_HS[0] = diam/2
101        struct_sch_HS[1] = w[0]
102       
103        //calculate each and combine
104        Duplicate/O xw tmp_sch_HS_PQ,tmp_sch_HS_SQ
105        SchulzSpheres(form_sch_HS,tmp_sch_HS_PQ,xw)
106        HardSphereStruct(struct_sch_HS,tmp_sch_HS_SQ,xw)
107        yw = tmp_sch_HS_PQ * tmp_sch_HS_SQ
108        yw *= w[0]
109        yw += w[5]
110       
111        //cleanup waves
112//      Killwaves/Z form_sch_HS,struct_sch_HS
113       
114        return (0)
115End
116
117/////////////////////////////////////////
118Proc PlotSchulzSpheres_SW(num,qmin,qmax)
119        Variable num=128,qmin=0.001,qmax=0.7
120        Prompt num "Enter number of data points for model: "
121        Prompt qmin "Enter minimum q-value (^-1) for model: "
122        Prompt qmax "Enter maximum q-value (^-1) for model: "
123       
124        Make/O/D/N=(num) xwave_sch_SW,ywave_sch_SW
125        xwave_sch_SW = alog( log(qmin) + x*((log(qmax)-log(qmin))/num) )
126        Make/O/D coef_sch_SW = {0.01,60,0.2,1e-6,3e-6,1.0,1.2,0.001}
127        make/O/T parameters_sch_SW = {"Volume Fraction (scale)","mean radius (A)","polydisp (sig/avg)","SLD sphere (A-2)","SLD solvent (A-2)","well depth (kT)","well width (diam.)","bkg (cm-1 sr-1)"}
128        Edit parameters_sch_SW,coef_sch_SW
129
130        Variable/G root:g_sch_SW
131        g_sch_SW := SchulzSpheres_SW(coef_sch_SW,ywave_sch_SW,xwave_sch_SW)
132        Display ywave_sch_SW vs xwave_sch_SW
133        ModifyGraph log=1,marker=29,msize=2,mode=4
134        Label bottom "q (\\S-1\\M)"
135        Label left "Intensity (cm\\S-1\\M)"
136        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
137       
138        AddModelToStrings("SchulzSpheres_SW","coef_sch_SW","sch_SW")
139End
140
141// - sets up a dependency to a wrapper, not the actual SmearedModelFunction
142Proc PlotSmearedSchulzSpheres_SW(str)                                                           
143        String str
144        Prompt str,"Pick the data folder containing the resolution you want",popup,getAList(4)
145       
146        // if any of the resolution waves are missing => abort
147        if(ResolutionWavesMissingDF(str))               //updated to NOT use global strings (in GaussUtils)
148                Abort
149        endif
150       
151        SetDataFolder $("root:"+str)
152       
153        // Setup parameter table for model function
154        Make/O/D smear_coef_sch_SW = {0.01,60,0.2,1e-6,3e-6,1.0,1.2,0.001}                                     
155        make/o/t smear_parameters_sch_SW = {"Volume Fraction (scale)","mean radius (A)","polydisp (sig/avg)","SLD sphere (A-2)","SLD solvent (A-2)","well depth (kT)","well width (diam.)","bkg (cm-1 sr-1)"}   
156        Edit smear_parameters_sch_SW,smear_coef_sch_SW                                 
157       
158        // output smeared intensity wave, dimensions are identical to experimental QSIG values
159        // make extra copy of experimental q-values for easy plotting
160        Duplicate/O $(str+"_q") smeared_sch_SW,smeared_qvals                           
161        SetScale d,0,0,"1/cm",smeared_sch_SW                                                   
162                                       
163        Variable/G gs_sch_SW=0
164        gs_sch_SW := fSmearedSchulzSpheres_SW(smear_coef_sch_SW,smeared_sch_SW,smeared_qvals)   //this wrapper fills the STRUCT
165       
166        Display smeared_sch_SW vs smeared_qvals                                                                 
167        ModifyGraph log=1,marker=29,msize=2,mode=4
168        Label bottom "q (\\S-1\\M)"
169        Label left "Intensity (cm\\S-1\\M)"
170        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
171       
172        SetDataFolder root:
173        AddModelToStrings("SmearedSchulzSpheres_SW","smear_coef_sch_SW","sch_SW")
174End
175
176       
177
178Function SchulzSpheres_SW(w,yw,xw) : FitFunc
179        Wave w,yw,xw
180       
181        Variable inten
182       
183        //setup form factor coefficient wave
184        Make/O/D/N=6 form_sch_SW
185        form_sch_SW[0] = 1
186        form_sch_SW[1] = w[1]
187        form_sch_SW[2] = w[2]
188        form_sch_SW[3] = w[3]
189        form_sch_SW[4] = w[4]
190        form_sch_SW[5] = 0
191       
192        //calculate the diameter of the effective one-component sphere
193        Variable pd,diam,zz,Vpoly,Ravg
194        pd = w[2]
195        zz = (1/pd)^2 - 1
196        Ravg = w[1]
197       
198        Vpoly = 4*pi/3*(Ravg)^3*(zz+3)*(zz+2)/(zz+1)^2
199        diam = (6*Vpoly/pi)^(1/3)
200       
201        //setup structure factor coefficient wave
202        Make/O/D/N=4 struct_sch_SW
203        struct_sch_SW[0] = diam/2
204        struct_sch_SW[1] = w[0]
205        struct_sch_SW[2] = w[5]
206        struct_sch_SW[3] = w[6]
207       
208        //calculate each and combine
209        Duplicate/O xw tmp_sch_SW_PQ,tmp_sch_SW_SQ
210        SchulzSpheres(form_sch_SW,tmp_sch_SW_PQ,xw)
211        SquareWellStruct(struct_sch_SW,tmp_sch_SW_SQ,xw)
212        yw = tmp_sch_SW_PQ * tmp_sch_SW_SQ
213        yw *= w[0]
214        yw += w[7]
215       
216        //cleanup waves
217//      Killwaves/Z form_sch_SW,struct_sch_SW
218       
219        return (0)
220End
221
222
223/////////////////////////////////////////
224Proc PlotSchulzSpheres_SC(num,qmin,qmax)
225        Variable num=256,qmin=0.001,qmax=0.7
226        Prompt num "Enter number of data points for model: "
227        Prompt qmin "Enter minimum q-value (^-1) for model: "
228        Prompt qmax "Enter maximum q-value (^-1) for model: "
229       
230        if(!DataFolderExists(":HayPenMSA"))
231                NewDataFolder :HayPenMSA
232        endif
233        Make/O/D/N=17 :HayPenMSA:gMSAWave
234
235        Make/O/D/N=(num) xwave_sch_SC,ywave_sch_SC
236        xwave_sch_SC = alog( log(qmin) + x*((log(qmax)-log(qmin))/num) )
237        Make/O/D coef_sch_SC = {0.01,60,0.2,1e-6,3e-6,20,0,298,78,0.001}
238        make/O/T parameters_sch_SC = {"Volume Fraction (scale)","mean radius (A)","polydisp (sig/avg)","SLD sphere (A-2)","SLD solvent (A-2)","charge","movalent salt(M)","Temperature (K)","dielectric const","bkg (cm-1 sr-1)"}
239        Edit parameters_sch_SC,coef_sch_SC
240       
241        Variable/G root:g_sch_SC
242        g_sch_SC := SchulzSpheres_SC(coef_sch_SC,ywave_sch_SC,xwave_sch_SC)
243        Display ywave_sch_SC vs xwave_sch_SC
244        ModifyGraph log=1,marker=29,msize=2,mode=4
245        Label bottom "q (\\S-1\\M)"
246        Label left "Intensity (cm\\S-1\\M)"
247        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
248       
249        AddModelToStrings("SchulzSpheres_SC","coef_sch_SC","sch_SC")
250End
251
252// - sets up a dependency to a wrapper, not the actual SmearedModelFunction
253Proc PlotSmearedSchulzSpheres_SC(str)                                                           
254        String str
255        Prompt str,"Pick the data folder containing the resolution you want",popup,getAList(4)
256       
257        // if any of the resolution waves are missing => abort
258        if(ResolutionWavesMissingDF(str))               //updated to NOT use global strings (in GaussUtils)
259                Abort
260        endif
261       
262        SetDataFolder $("root:"+str)
263       
264        if(!DataFolderExists(":HayPenMSA"))
265                NewDataFolder :HayPenMSA
266        endif
267        Make/O/D/N=17 :HayPenMSA:gMSAWave
268       
269        // Setup parameter table for model function
270        Make/O/D smear_coef_sch_SC = {0.01,60,0.2,1e-6,3e-6,20,0,298,78,0.001}                                 
271        make/o/t smear_parameters_sch_SC = {"Volume Fraction (scale)","mean radius (A)","polydisp (sig/avg)","SLD sphere (A-2)","SLD solvent (A-2)","charge","movalent salt(M)","Temperature (K)","dielectric const","bkg (cm-1 sr-1)"}
272        Edit smear_parameters_sch_SC,smear_coef_sch_SC                                 
273       
274        // output smeared intensity wave, dimensions are identical to experimental QSIG values
275        // make extra copy of experimental q-values for easy plotting
276        Duplicate/O $(str+"_q") smeared_sch_SC,smeared_qvals                           
277        SetScale d,0,0,"1/cm",smeared_sch_SC                                                   
278                                       
279        Variable/G gs_sch_SC=0
280        gs_sch_SC := fSmearedSchulzSpheres_SC(smear_coef_sch_SC,smeared_sch_SC,smeared_qvals)   //this wrapper fills the STRUCT
281       
282        Display smeared_sch_SC vs smeared_qvals                                                                 
283        ModifyGraph log=1,marker=29,msize=2,mode=4
284        Label bottom "q (\\S-1\\M)"
285        Label left "Intensity (cm\\S-1\\M)"
286        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
287       
288        SetDataFolder root:
289        AddModelToStrings("SmearedSchulzSpheres_SC","smear_coef_sch_SC","sch_SC")
290End
291
292
293Function SchulzSpheres_SC(w,yw,xw) : FitFunc
294        Wave w,yw,xw
295       
296        Variable inten
297       
298        //setup form factor coefficient wave
299        Make/O/D/N=6 form_sch_SC
300        form_sch_SC[0] = 1
301        form_sch_SC[1] = w[1]
302        form_sch_SC[2] = w[2]
303        form_sch_SC[3] = w[3]
304        form_sch_SC[4] = w[4]
305        form_sch_SC[5] = 0
306       
307        //calculate the diameter of the effective one-component sphere
308        Variable pd,diam,zz,Vpoly,Ravg
309        pd = w[2]
310        zz = (1/pd)^2 - 1
311        Ravg = w[1]
312       
313        Vpoly = 4*pi/3*(Ravg)^3*(zz+3)*(zz+2)/(zz+1)^2
314        diam = (6*Vpoly/pi)^(1/3)
315       
316        //setup structure factor coefficient wave
317        Make/O/D/N=6 struct_sch_SC
318        struct_sch_SC[0] = diam
319        struct_sch_SC[1] = w[5]
320        struct_sch_SC[2] = w[0]
321        struct_sch_SC[3] = w[7]
322        struct_sch_SC[4] = w[6]
323        struct_sch_SC[5] = w[8]
324       
325        //calculate each and combine
326        Duplicate/O xw tmp_sch_SC_PQ,tmp_sch_SC_SQ
327        SchulzSpheres(form_sch_SC,tmp_sch_SC_PQ,xw)
328        HayterPenfoldMSA(struct_sch_SC,tmp_sch_SC_SQ,xw)
329        yw = tmp_sch_SC_PQ *tmp_sch_SC_SQ
330        yw *= w[0]
331        yw += w[9]
332       
333        //cleanup waves
334//      Killwaves/Z form_sch_SC,struct_sch_SC
335       
336        return (0)
337End
338
339/////////////////////////////////////////
340Proc PlotSchulzSpheres_SHS(num,qmin,qmax)
341        Variable num=256,qmin=0.001,qmax=0.7
342        Prompt num "Enter number of data points for model: "
343        Prompt qmin "Enter minimum q-value (^-1) for model: "
344        Prompt qmax "Enter maximum q-value (^-1) for model: "
345       
346        Make/O/D/N=(num) xwave_sch_SHS,ywave_sch_SHS
347        xwave_sch_SHS = alog( log(qmin) + x*((log(qmax)-log(qmin))/num) )
348        Make/O/D coef_sch_SHS = {0.01,60,0.2,1e-6,3e-6,0.05,0.2,0.001}
349        make/O/T parameters_sch_SHS = {"Volume Fraction (scale)","mean radius (A)","polydisp (sig/avg)","SLD sphere (A-2)","SLD solvent (A-2)","perturbation parameter (0.1)","stickiness, tau","bkg (cm-1 sr-1)"}
350        Edit parameters_sch_SHS,coef_sch_SHS
351       
352        Variable/G root:g_sch_SHS
353        g_sch_SHS := SchulzSpheres_SHS(coef_sch_SHS,ywave_sch_SHS,xwave_sch_SHS)
354        Display ywave_sch_SHS vs xwave_sch_SHS
355        ModifyGraph log=1,marker=29,msize=2,mode=4
356        Label bottom "q (\\S-1\\M)"
357        Label left "Intensity (cm\\S-1\\M)"
358        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
359       
360        AddModelToStrings("SchulzSpheres_SHS","coef_sch_SHS","sch_SHS")
361End
362
363// - sets up a dependency to a wrapper, not the actual SmearedModelFunction
364Proc PlotSmearedSchulzSpheres_SHS(str)                                                         
365        String str
366        Prompt str,"Pick the data folder containing the resolution you want",popup,getAList(4)
367       
368        // if any of the resolution waves are missing => abort
369        if(ResolutionWavesMissingDF(str))               //updated to NOT use global strings (in GaussUtils)
370                Abort
371        endif
372       
373        SetDataFolder $("root:"+str)
374       
375        // Setup parameter table for model function
376        Make/O/D smear_coef_sch_SHS = {0.01,60,0.2,1e-6,3e-6,0.05,0.2,0.001}                                   
377        make/o/t smear_parameters_sch_SHS = {"Volume Fraction (scale)","mean radius (A)","polydisp (sig/avg)","SLD sphere (A-2)","SLD solvent (A-2)","perturbation parameter (0.1)","stickiness, tau","bkg (cm-1 sr-1)"}       
378        Edit smear_parameters_sch_SHS,smear_coef_sch_SHS                                       
379       
380        // output smeared intensity wave, dimensions are identical to experimental QSIG values
381        // make extra copy of experimental q-values for easy plotting
382        Duplicate/O $(str+"_q") smeared_sch_SHS,smeared_qvals                           
383        SetScale d,0,0,"1/cm",smeared_sch_SHS                                                   
384                                       
385        Variable/G gs_sch_SHS=0
386        gs_sch_SHS := fSmearedSchulzSpheres_SHS(smear_coef_sch_SHS,smeared_sch_SHS,smeared_qvals)       //this wrapper fills the STRUCT
387       
388        Display smeared_sch_SHS vs smeared_qvals                                                                       
389        ModifyGraph log=1,marker=29,msize=2,mode=4
390        Label bottom "q (\\S-1\\M)"
391        Label left "Intensity (cm\\S-1\\M)"
392        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
393       
394        SetDataFolder root:
395        AddModelToStrings("SmearedSchulzSpheres_SHS","smear_coef_sch_SHS","sch_SHS")
396End
397
398
399Function SchulzSpheres_SHS(w,yw,xw) : FitFunc
400        Wave w,yw,xw
401       
402        Variable inten
403       
404        //setup form factor coefficient wave
405        Make/O/D/N=6 form_sch_SHS
406        form_sch_SHS[0] = 1
407        form_sch_SHS[1] = w[1]
408        form_sch_SHS[2] = w[2]
409        form_sch_SHS[3] = w[3]
410        form_sch_SHS[4] = w[4]
411        form_sch_SHS[5] = 0
412       
413        //calculate the diameter of the effective one-component sphere
414        Variable pd,diam,zz,Vpoly,Ravg
415        pd = w[2]
416        zz = (1/pd)^2 - 1
417        Ravg = w[1]
418       
419        Vpoly = 4*pi/3*(Ravg)^3*(zz+3)*(zz+2)/(zz+1)^2
420        diam = (6*Vpoly/pi)^(1/3)
421       
422        //setup structure factor coefficient wave
423        Make/O/D/N=4 struct_sch_SHS
424        struct_sch_SHS[0] = diam/2
425        struct_sch_SHS[1] = w[0]
426        struct_sch_SHS[2] = w[5]
427        struct_sch_SHS[3] = w[6]
428       
429        //calculate each and combine
430        Duplicate/O xw tmp_sch_SHS_PQ,tmp_sch_SHS_SQ
431        SchulzSpheres(form_sch_SHS,tmp_sch_SHS_PQ,xw)
432        StickyHS_Struct(struct_sch_SHS,tmp_sch_SHS_SQ,xw)
433        yw = tmp_sch_SHS_PQ * tmp_sch_SHS_SQ
434        yw *= w[0]
435        yw += w[7]
436       
437        //cleanup waves
438//      Killwaves/Z form_sch_SHS,struct_sch_SHS
439       
440        return (0)
441End
442
443
444
445// this is all there is to the smeared calculation!
446Function SmearedSchulzSpheres_HS(s) : FitFunc
447        Struct ResSmearAAOStruct &s
448
449//      the name of your unsmeared model (AAO) is the first argument
450        Smear_Model_20(SchulzSpheres_HS,s.coefW,s.xW,s.yW,s.resW)
451
452        return(0)
453End
454
455// this is all there is to the smeared calculation!
456Function SmearedSchulzSpheres_SW(s) : FitFunc
457        Struct ResSmearAAOStruct &s
458
459//      the name of your unsmeared model (AAO) is the first argument
460        Smear_Model_20(SchulzSpheres_SW,s.coefW,s.xW,s.yW,s.resW)
461
462        return(0)
463End
464
465// this is all there is to the smeared calculation!
466Function SmearedSchulzSpheres_SC(s) : FitFunc
467        Struct ResSmearAAOStruct &s
468
469//      the name of your unsmeared model (AAO) is the first argument
470        Smear_Model_20(SchulzSpheres_SC,s.coefW,s.xW,s.yW,s.resW)
471
472        return(0)
473End
474
475// this is all there is to the smeared calculation!
476Function SmearedSchulzSpheres_SHS(s) : FitFunc
477        Struct ResSmearAAOStruct &s
478
479//      the name of your unsmeared model (AAO) is the first argument
480        Smear_Model_20(SchulzSpheres_SHS,s.coefW,s.xW,s.yW,s.resW)
481
482        return(0)
483End
484
485//wrapper to calculate the smeared model as an AAO-Struct
486// fills the struct and calls the ususal function with the STRUCT parameter
487//
488// used only for the dependency, not for fitting
489//
490Function fSmearedSchulzSpheres_HS(coefW,yW,xW)
491        Wave coefW,yW,xW
492       
493        String str = getWavesDataFolder(yW,0)
494        String DF="root:"+str+":"
495       
496        WAVE resW = $(DF+str+"_res")
497       
498        STRUCT ResSmearAAOStruct fs
499        WAVE fs.coefW = coefW   
500        WAVE fs.yW = yW
501        WAVE fs.xW = xW
502        WAVE fs.resW = resW
503       
504        Variable err
505        err = SmearedSchulzSpheres_HS(fs)
506       
507        return (0)
508End
509
510//wrapper to calculate the smeared model as an AAO-Struct
511// fills the struct and calls the ususal function with the STRUCT parameter
512//
513// used only for the dependency, not for fitting
514//
515Function fSmearedSchulzSpheres_SW(coefW,yW,xW)
516        Wave coefW,yW,xW
517       
518        String str = getWavesDataFolder(yW,0)
519        String DF="root:"+str+":"
520       
521        WAVE resW = $(DF+str+"_res")
522       
523        STRUCT ResSmearAAOStruct fs
524        WAVE fs.coefW = coefW   
525        WAVE fs.yW = yW
526        WAVE fs.xW = xW
527        WAVE fs.resW = resW
528       
529        Variable err
530        err = SmearedSchulzSpheres_SW(fs)
531       
532        return (0)
533End
534
535//wrapper to calculate the smeared model as an AAO-Struct
536// fills the struct and calls the ususal function with the STRUCT parameter
537//
538// used only for the dependency, not for fitting
539//
540Function fSmearedSchulzSpheres_SC(coefW,yW,xW)
541        Wave coefW,yW,xW
542       
543        String str = getWavesDataFolder(yW,0)
544        String DF="root:"+str+":"
545       
546        WAVE resW = $(DF+str+"_res")
547       
548        STRUCT ResSmearAAOStruct fs
549        WAVE fs.coefW = coefW   
550        WAVE fs.yW = yW
551        WAVE fs.xW = xW
552        WAVE fs.resW = resW
553       
554        Variable err
555        err = SmearedSchulzSpheres_SC(fs)
556       
557        return (0)
558End
559
560//wrapper to calculate the smeared model as an AAO-Struct
561// fills the struct and calls the ususal function with the STRUCT parameter
562//
563// used only for the dependency, not for fitting
564//
565Function fSmearedSchulzSpheres_SHS(coefW,yW,xW)
566        Wave coefW,yW,xW
567       
568        String str = getWavesDataFolder(yW,0)
569        String DF="root:"+str+":"
570       
571        WAVE resW = $(DF+str+"_res")
572       
573        STRUCT ResSmearAAOStruct fs
574        WAVE fs.coefW = coefW   
575        WAVE fs.yW = yW
576        WAVE fs.xW = xW
577        WAVE fs.resW = resW
578       
579        Variable err
580        err = SmearedSchulzSpheres_SHS(fs)
581       
582        return (0)
583End
584
Note: See TracBrowser for help on using the repository browser.