source: sans/Analysis/branches/ajj_23APR07/IGOR_Package_Files/Put in User Procedures/SANS_Models_v3.00/Cylinder_and_Struct.ipf @ 127

Last change on this file since 127 was 127, checked in by srkline, 16 years ago

LOTS of changes to the analysis ipf files:

-- see sphere.ipf for the simplest example of the changes --

  • #pragma Igor 6
  • #if directive to look for XOP
  • AAO unsmeared functions
  • STRUCT functions for smearing (also AAO)
  • new wrappers for dependencies to struct functions

(2006 models have NOT been completed yet, only the old models)

  • loading data files into data folders (PlotUtils?) + some streamlining of the loaders
  • Smear_Model_N is now AAO + some streamlining of the quadrature code

-- SHS and SW structure factor XOPs are crashing (need DP wave, I may have old XOP)
-- this breaks fitting of the smeared models until wrappers can be devised
-- all packages will be broken due to the new data folder structure
-- multiple instances of functions will now cause problems (MSA)
-- RPA model is a problem with its odd functional form (extra wave)

-- lots of other carnage to follow as the bugs and typos are shaken out

24 JUL 2007 SRK

File size: 15.8 KB
Line 
1#pragma rtGlobals=1             // Use modern global access method.
2#pragma IgorVersion = 6.0
3
4// be sure to include all the necessary files...
5#include "EffectiveDiameter"
6#include "CylinderForm"
7
8#include "HardSphereStruct"
9#include "HPMSA"
10#include "SquareWellStruct"
11#include "StickyHardSphereStruct"
12
13Proc PlotCylinder_HS(num,qmin,qmax)
14        Variable num=128,qmin=0.001,qmax=0.7
15        Prompt num "Enter number of data points for model: "
16        Prompt qmin "Enter minimum q-value (^-1) for model: "
17        Prompt qmax "Enter maximum q-value (^-1) for model: "
18       
19        Make/O/D/n=(num) xwave_CYL_HS,ywave_CYL_HS
20        xwave_CYL_HS =  alog(log(qmin) + x*((log(qmax)-log(qmin))/num))
21        Make/O/D coef_CYL_HS = {0.01,20.,400,3.0e-6,0.01}
22        make/o/t parameters_CYL_HS = {"volume fraction","radius (A)","length (A)","contrast (A^-2)","incoh. bkg (cm^-1)"}
23        Edit parameters_CYL_HS,coef_CYL_HS
24       
25        Variable/G root:g_CYL_HS
26        g_CYL_HS := Cylinder_HS(coef_CYL_HS,ywave_CYL_HS,xwave_CYL_HS)
27        Display ywave_CYL_HS vs xwave_CYL_HS
28        ModifyGraph log=1,marker=29,msize=2,mode=4
29        Label bottom "q (\\S-1\\M)"
30        Label left "Intensity (cm\\S-1\\M)"
31
32        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
33End
34
35// - sets up a dependency to a wrapper, not the actual SmearedModelFunction
36Proc PlotSmearedCylinder_HS(str)                                                               
37        String str
38        Prompt str,"Pick the data folder conatining the resolution you want",popup,getAList(4)
39       
40        // if any of the resolution waves are missing => abort
41        if(ResolutionWavesMissingDF(str))               //updated to NOT use global strings (in GaussUtils)
42                Abort
43        endif
44       
45        SetDataFolder $("root:"+str)
46       
47        // Setup parameter table for model function
48        Make/O/D smear_coef_CYL_HS = {0.01,20.,400,3.0e-6,0.01}
49        make/o/t smear_parameters_CYL_HS = {"volume fraction","radius (A)","length (A)","contrast (A^-2)","incoh. bkg (cm^-1)"}
50        Edit smear_parameters_CYL_HS,smear_coef_CYL_HS                                 
51       
52        // output smeared intensity wave, dimensions are identical to experimental QSIG values
53        // make extra copy of experimental q-values for easy plotting
54        Duplicate/O $(str+"_q") smeared_CYL_HS,smeared_qvals                           
55        SetScale d,0,0,"1/cm",smeared_CYL_HS                                                   
56                                       
57        Variable/G gs_CYL_HS=0
58        gs_CYL_HS := fSmearedCylinder_HS(smear_coef_CYL_HS,smeared_CYL_HS,smeared_qvals)        //this wrapper fills the STRUCT
59       
60        Display smeared_CYL_HS vs smeared_qvals                                                                 
61        ModifyGraph log=1,marker=29,msize=2,mode=4
62        Label bottom "q (\\S-1\\M)"
63        Label left "Intensity (cm\\S-1\\M)"
64
65        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
66       
67        SetDataFolder root:
68End
69               
70
71Function Cylinder_HS(w,yw,xw) : FitFunc
72        Wave w,yw,xw
73       
74        Variable inten,rad,len
75        rad=w[1]
76        len=w[2]
77       
78        //setup form factor coefficient wave
79        Make/O/D/N=5 form_CYL_HS
80        form_CYL_HS[0] = 1
81        form_CYL_HS[1] = w[1]
82        form_CYL_HS[2] = w[2]
83        form_CYL_HS[3] = w[3]
84        form_CYL_HS[4] = 0
85       
86        //setup structure factor coefficient wave
87        Make/O/D/N=2 struct_CYL_HS
88        struct_CYL_HS[0] = 0.5*DiamCyl(len,rad)
89        struct_CYL_HS[1] = w[0]
90       
91        //calculate each and combine
92        Duplicate/O xw temp_CYL_HS_PQ,temp_CYL_HS_SQ            //make waves for the AAO
93        CylinderForm(form_CYL_HS,temp_CYL_HS_PQ,xw)
94        HardSphereStruct(struct_CYL_HS,temp_CYL_HS_SQ,xw)
95        yw = temp_CYL_HS_PQ * temp_CYL_HS_SQ
96        yw *= w[0]
97        yw += w[4]
98       
99        //cleanup waves (don't do this - it takes a lot of time...)
100//      Killwaves/Z form_CYL_HS,struct_CYL_HS
101       
102        return (0)
103End
104
105Proc PlotCylinder_SW(num,qmin,qmax)
106        Variable num=128,qmin=0.001,qmax=0.7
107        Prompt num "Enter number of data points for model: "
108        Prompt qmin "Enter minimum q-value (^-1) for model: "
109        Prompt qmax "Enter maximum q-value (^-1) for model: "
110       
111        Make/O/D/n=(num) xwave_CYL_SW,ywave_CYL_SW
112        xwave_CYL_SW =  alog(log(qmin) + x*((log(qmax)-log(qmin))/num))
113        Make/O/D coef_CYL_SW = {0.01,20.,400,3.0e-6,1.0,1.2,0.01}
114        make/o/t parameters_CYL_SW = {"volume fraction","radius (A)","length (A)","contrast (A^-2)","well depth (kT)","well width (diam.)","incoh. bkg (cm^-1)"}
115        Edit parameters_CYL_SW,coef_CYL_SW
116       
117        Variable/G root:g_CYL_SW
118        g_CYL_SW := Cylinder_SW(coef_CYL_SW,ywave_CYL_SW,xwave_CYL_SW)
119        Display ywave_CYL_SW vs xwave_CYL_SW
120        ModifyGraph log=1,marker=29,msize=2,mode=4
121        Label bottom "q (\\S-1\\M)"
122        Label left "Intensity (cm\\S-1\\M)"
123
124        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
125End
126
127// - sets up a dependency to a wrapper, not the actual SmearedModelFunction
128Proc PlotSmearedCylinder_SW(str)                                                               
129        String str
130        Prompt str,"Pick the data folder conatining the resolution you want",popup,getAList(4)
131       
132        // if any of the resolution waves are missing => abort
133        if(ResolutionWavesMissingDF(str))               //updated to NOT use global strings (in GaussUtils)
134                Abort
135        endif
136       
137        SetDataFolder $("root:"+str)
138       
139        // Setup parameter table for model function
140        Make/O/D smear_coef_CYL_SW = {0.01,20.,400,3.0e-6,1.0,1.2,0.01}
141        make/o/t smear_parameters_CYL_SW = {"volume fraction","radius (A)","length (A)","contrast (A^-2)","well depth (kT)","well width (diam.)","incoh. bkg (cm^-1)"}
142        Edit smear_parameters_CYL_SW,smear_coef_CYL_SW                                 
143       
144        // output smeared intensity wave, dimensions are identical to experimental QSIG values
145        // make extra copy of experimental q-values for easy plotting
146        Duplicate/O $(str+"_q") smeared_CYL_SW,smeared_qvals                           
147        SetScale d,0,0,"1/cm",smeared_CYL_SW                                                   
148                                       
149        Variable/G gs_CYL_SW=0
150        gs_CYL_SW := fSmearedCylinder_SW(smear_coef_CYL_SW,smeared_CYL_SW,smeared_qvals)        //this wrapper fills the STRUCT
151       
152        Display smeared_CYL_SW vs smeared_qvals                                                                 
153        ModifyGraph log=1,marker=29,msize=2,mode=4
154        Label bottom "q (\\S-1\\M)"
155        Label left "Intensity (cm\\S-1\\M)"
156
157        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
158       
159        SetDataFolder root:
160End
161       
162
163Function Cylinder_SW(w,yw,xw) : FitFunc
164        Wave w,yw,xw
165       
166        Variable inten,rad,len
167        rad=w[1]
168        len=w[2]
169       
170        //setup form factor coefficient wave
171        Make/O/D/N=5 form_CYL_SW
172        form_CYL_SW[0] = 1
173        form_CYL_SW[1] = w[1]
174        form_CYL_SW[2] = w[2]
175        form_CYL_SW[3] = w[3]
176        form_CYL_SW[4] = 0
177       
178        //setup structure factor coefficient wave
179        Make/O/D/N=4 struct_CYL_SW
180        struct_CYL_SW[0] = 0.5*DiamCyl(len,rad)
181        struct_CYL_SW[1] = w[0]
182        struct_CYL_SW[2] = w[4]
183        struct_CYL_SW[3] = w[5]
184       
185        //calculate each and combine
186        Duplicate/O xw temp_CYL_SW_PQ,temp_CYL_SW_SQ            //make waves for the AAO
187        CylinderForm(form_CYL_SW,temp_CYL_SW_PQ,xw)
188        SquareWellStruct(struct_CYL_SW,temp_CYL_SW_SQ,xw)
189        yw = temp_CYL_SW_PQ * temp_CYL_SW_SQ
190        yw *= w[0]
191        yw += w[6]
192       
193        //cleanup waves
194//      Killwaves/Z form_CYL_SW,struct_CYL_SW
195       
196        return (0)
197End
198
199Proc PlotCylinder_SC(num,qmin,qmax)
200        Variable num=128,qmin=0.001,qmax=0.7
201        Prompt num "Enter number of data points for model: "
202        Prompt qmin "Enter minimum q-value (^-1) for model: "
203        Prompt qmax "Enter maximum q-value (^-1) for model: "
204       
205        if (DataFolderExists("root:HayPenMSA"))
206                Make/O/D/N=17 root:HayPenMSA:gMSAWave
207        else
208                NewDataFolder root:HayPenMSA
209                Make/O/D/N=17 root:HayPenMSA:gMSAWave
210        endif
211       
212        Make/O/D/n=(num) xwave_CYL_SC,ywave_CYL_SC
213        xwave_CYL_SC =  alog(log(qmin) + x*((log(qmax)-log(qmin))/num))
214        Make/O/D coef_CYL_SC = {0.01,20.,400,3.0e-6,20,0,298,78,0.01}
215        make/o/t parameters_CYL_SC = {"volume fraction","radius (A)","length (A)","contrast (A^-2)","charge","movalent salt(M)","Temperature (K)","dielectric const","incoh. bkg (cm^-1)"}
216        Edit parameters_CYL_SC,coef_CYL_SC
217       
218        Variable/G root:g_CYL_SC
219        g_CYL_SC := Cylinder_SC(coef_CYL_SC,ywave_CYL_SC,xwave_CYL_SC)
220        Display ywave_CYL_SC vs xwave_CYL_SC
221        ModifyGraph log=1,marker=29,msize=2,mode=4
222        Label bottom "q (\\S-1\\M)"
223        Label left "Intensity (cm\\S-1\\M)"
224
225        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
226End
227
228// - sets up a dependency to a wrapper, not the actual SmearedModelFunction
229Proc PlotSmearedCylinder_SC(str)                                                               
230        String str
231        Prompt str,"Pick the data folder conatining the resolution you want",popup,getAList(4)
232       
233        // if any of the resolution waves are missing => abort
234        if(ResolutionWavesMissingDF(str))               //updated to NOT use global strings (in GaussUtils)
235                Abort
236        endif
237       
238        SetDataFolder $("root:"+str)
239       
240        if (DataFolderExists("root:HayPenMSA"))
241                Make/O/D/N=17 root:HayPenMSA:gMSAWave
242        else
243                NewDataFolder root:HayPenMSA
244                Make/O/D/N=17 root:HayPenMSA:gMSAWave
245        endif
246       
247        // Setup parameter table for model function
248        Make/O/D smear_coef_CYL_SC = {0.01,20.,400,3.0e-6,20,0,298,78,0.01}
249        make/o/t smear_parameters_CYL_SC = {"volume fraction","radius (A)","length (A)","contrast (A^-2)","charge","movalent salt(M)","Temperature (K)","dielectric const","incoh. bkg (cm^-1)"}
250        Edit smear_parameters_CYL_SC,smear_coef_CYL_SC                                 
251       
252        // output smeared intensity wave, dimensions are identical to experimental QSIG values
253        // make extra copy of experimental q-values for easy plotting
254        Duplicate/O $(str+"_q") smeared_CYL_SC,smeared_qvals                           
255        SetScale d,0,0,"1/cm",smeared_CYL_SC                                                   
256                                       
257        Variable/G gs_CYL_SC=0
258        gs_CYL_SC := fSmearedCylinder_SC(smear_coef_CYL_SC,smeared_CYL_SC,smeared_qvals)        //this wrapper fills the STRUCT
259       
260        Display smeared_CYL_SC vs smeared_qvals                                                                 
261        ModifyGraph log=1,marker=29,msize=2,mode=4
262        Label bottom "q (\\S-1\\M)"
263        Label left "Intensity (cm\\S-1\\M)"
264
265        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
266       
267        SetDataFolder root:
268End
269
270
271Function Cylinder_SC(w,yw,xw) : FitFunc
272        Wave w,yw,xw
273       
274        Variable inten,rad,len
275        rad=w[1]
276        len=w[2]
277       
278        //setup form factor coefficient wave
279        Make/O/D/N=5 form_CYL_SC
280        form_CYL_SC[0] = 1
281        form_CYL_SC[1] = w[1]
282        form_CYL_SC[2] = w[2]
283        form_CYL_SC[3] = w[3]
284        form_CYL_SC[4] = 0
285       
286        //setup structure factor coefficient wave
287        Make/O/D/N=6 struct_CYL_SC
288        struct_CYL_SC[0] = DiamCyl(len,rad)
289        struct_CYL_SC[1] = w[4]
290        struct_CYL_SC[2] = w[0]
291        struct_CYL_SC[3] = w[6]
292        struct_CYL_SC[4] = w[5]
293        struct_CYL_SC[5] = w[7]
294       
295        //calculate each and combine
296        Duplicate/O xw temp_CYL_SC_PQ,temp_CYL_SC_SQ            //make waves for the AAO
297        CylinderForm(form_CYL_SC,temp_CYL_SC_PQ,xw)
298        HayterPenfoldMSA(struct_CYL_SC,temp_CYL_SC_SQ,xw)
299        yw = temp_CYL_SC_PQ * temp_CYL_SC_SQ
300        yw *= w[0]
301        yw += w[8]
302       
303        //cleanup waves
304//      Killwaves/Z form_CYL_SC,struct_CYL_SC
305       
306        return (0)
307End
308
309
310Proc PlotCylinder_SHS(num,qmin,qmax)
311        Variable num=128,qmin=0.001,qmax=0.7
312        Prompt num "Enter number of data points for model: "
313        Prompt qmin "Enter minimum q-value (^-1) for model: "
314        Prompt qmax "Enter maximum q-value (^-1) for model: "
315       
316        Make/O/D/n=(num) xwave_CYL_SHS,ywave_CYL_SHS
317        xwave_CYL_SHS =  alog(log(qmin) + x*((log(qmax)-log(qmin))/num))
318        Make/O/D coef_CYL_SHS = {0.01,20.0,400,3.0e-6,0.05,0.2,0.01}
319        make/o/t parameters_CYL_SHS = {"volume fraction","radius (A)","length (A)","contrast (A^-2)","perturbation parameter (0.1)","stickiness, tau","incoh. bkg (cm^-1)"}
320        Edit parameters_CYL_SHS,coef_CYL_SHS
321       
322        Variable/G root:g_CYL_SHS
323        g_CYL_SHS := Cylinder_SHS(coef_CYL_SHS,ywave_CYL_SHS,xwave_CYL_SHS)
324        Display ywave_CYL_SHS vs xwave_CYL_SHS
325        ModifyGraph log=1,marker=29,msize=2,mode=4
326        Label bottom "q (\\S-1\\M)"
327        Label left "Intensity (cm\\S-1\\M)"
328
329        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
330End
331
332// - sets up a dependency to a wrapper, not the actual SmearedModelFunction
333Proc PlotSmearedCylinder_SHS(str)                                                               
334        String str
335        Prompt str,"Pick the data folder conatining the resolution you want",popup,getAList(4)
336       
337        // if any of the resolution waves are missing => abort
338        if(ResolutionWavesMissingDF(str))               //updated to NOT use global strings (in GaussUtils)
339                Abort
340        endif
341       
342        SetDataFolder $("root:"+str)
343       
344        // Setup parameter table for model function
345        Make/O/D smear_coef_CYL_SHS = {0.01,20.0,400,3.0e-6,0.05,0.2,0.01}
346        make/o/t smear_parameters_CYL_SHS = {"volume fraction","radius (A)","length (A)","contrast (A^-2)","perturbation parameter (0.1)","stickiness, tau","incoh. bkg (cm^-1)"}
347        Edit smear_parameters_CYL_SHS,smear_coef_CYL_SHS                                       
348       
349        // output smeared intensity wave, dimensions are identical to experimental QSIG values
350        // make extra copy of experimental q-values for easy plotting
351        Duplicate/O $(str+"_q") smeared_CYL_SHS,smeared_qvals                           
352        SetScale d,0,0,"1/cm",smeared_CYL_SHS                                                   
353                                       
354        Variable/G gs_CYL_SHS=0
355        gs_CYL_SHS := fSmearedCylinder_SHS(smear_coef_CYL_SHS,smeared_CYL_SHS,smeared_qvals)    //this wrapper fills the STRUCT
356       
357        Display smeared_CYL_SHS vs smeared_qvals                                                                       
358        ModifyGraph log=1,marker=29,msize=2,mode=4
359        Label bottom "q (\\S-1\\M)"
360        Label left "Intensity (cm\\S-1\\M)"
361
362        AutoPositionWindow/M=1/R=$(WinName(0,1)) $WinName(0,2)
363       
364        SetDataFolder root:
365End
366       
367
368Function Cylinder_SHS(w,yw,xw) : FitFunc
369        Wave w,yw,xw
370       
371        Variable inten,rad,len
372        rad=w[1]
373        len=w[2]
374       
375        //setup form factor coefficient wave
376        Make/O/D/N=5 form_CYL_SHS
377        form_CYL_SHS[0] = 1
378        form_CYL_SHS[1] = w[1]
379        form_CYL_SHS[2] = w[2]
380        form_CYL_SHS[3] = w[3]
381        form_CYL_SHS[4] = 0
382       
383        //setup structure factor coefficient wave
384        Make/O/D/N=4 struct_CYL_SHS
385        struct_CYL_SHS[0] = 0.5*DiamCyl(len,rad)
386        struct_CYL_SHS[1] = w[0]
387        struct_CYL_SHS[2] = w[4]
388        struct_CYL_SHS[3] = w[5]
389       
390        //calculate each and combine
391        Duplicate/O xw temp_CYL_SHS_PQ,temp_CYL_SHS_SQ          //make waves for the AAO
392        CylinderForm(form_CYL_SHS,temp_CYL_SHS_PQ,xw)
393        StickyHS_Struct(struct_CYL_SHS,temp_CYL_SHS_SQ,xw)
394        yw = temp_CYL_SHS_PQ * temp_CYL_SHS_SQ
395        yw *= w[0]
396        yw += w[6]
397       
398        //cleanup waves
399//      Killwaves/Z form_CYL_SHS,struct_CYL_SHS
400       
401        return (0)
402End
403
404
405
406// this is all there is to the smeared calculation!
407Function SmearedCylinder_HS(s) :FitFunc
408        Struct ResSmearAAOStruct &s
409
410//      the name of your unsmeared model is the first argument
411        s.yW = Smear_Model_20(Cylinder_HS,s.coefW,s.xW,s.resW)
412
413        return(0)
414End
415
416// this is all there is to the smeared calculation!
417Function SmearedCylinder_SW(s) :FitFunc
418        Struct ResSmearAAOStruct &s
419
420//      the name of your unsmeared model is the first argument
421        s.yW = Smear_Model_20(Cylinder_SW,s.coefW,s.xW,s.resW)
422
423        return(0)
424End
425
426// this is all there is to the smeared calculation!
427Function SmearedCylinder_SC(s) :FitFunc
428        Struct ResSmearAAOStruct &s
429
430//      the name of your unsmeared model is the first argument
431        s.yW = Smear_Model_20(Cylinder_SC,s.coefW,s.xW,s.resW)
432
433        return(0)
434End
435
436// this is all there is to the smeared calculation!
437Function SmearedCylinder_SHS(s) :FitFunc
438        Struct ResSmearAAOStruct &s
439
440//      the name of your unsmeared model is the first argument
441        s.yW = Smear_Model_20(Cylinder_SHS,s.coefW,s.xW,s.resW)
442
443        return(0)
444End
445
446//wrapper to calculate the smeared model as an AAO-Struct
447// fills the struct and calls the ususal function with the STRUCT parameter
448//
449// used only for the dependency, not for fitting
450//
451Function fSmearedCylinder_HS(coefW,yW,xW)
452        Wave coefW,yW,xW
453       
454        String str = getWavesDataFolder(yW,0)
455        String DF="root:"+str+":"
456       
457        WAVE resW = $(DF+str+"_res")
458       
459        STRUCT ResSmearAAOStruct fs
460        WAVE fs.coefW = coefW   
461        WAVE fs.yW = yW
462        WAVE fs.xW = xW
463        WAVE fs.resW = resW
464       
465        Variable err
466        err = SmearedCylinder_HS(fs)
467       
468        return (0)
469End
470
471//wrapper to calculate the smeared model as an AAO-Struct
472// fills the struct and calls the ususal function with the STRUCT parameter
473//
474// used only for the dependency, not for fitting
475//
476Function fSmearedCylinder_SW(coefW,yW,xW)
477        Wave coefW,yW,xW
478       
479        String str = getWavesDataFolder(yW,0)
480        String DF="root:"+str+":"
481       
482        WAVE resW = $(DF+str+"_res")
483       
484        STRUCT ResSmearAAOStruct fs
485        WAVE fs.coefW = coefW   
486        WAVE fs.yW = yW
487        WAVE fs.xW = xW
488        WAVE fs.resW = resW
489       
490        Variable err
491        err = SmearedCylinder_SW(fs)
492       
493        return (0)
494End
495
496//wrapper to calculate the smeared model as an AAO-Struct
497// fills the struct and calls the ususal function with the STRUCT parameter
498//
499// used only for the dependency, not for fitting
500//
501Function fSmearedCylinder_SC(coefW,yW,xW)
502        Wave coefW,yW,xW
503       
504        String str = getWavesDataFolder(yW,0)
505        String DF="root:"+str+":"
506       
507        WAVE resW = $(DF+str+"_res")
508       
509        STRUCT ResSmearAAOStruct fs
510        WAVE fs.coefW = coefW   
511        WAVE fs.yW = yW
512        WAVE fs.xW = xW
513        WAVE fs.resW = resW
514       
515        Variable err
516        err = SmearedCylinder_SC(fs)
517       
518        return (0)
519End
520
521//wrapper to calculate the smeared model as an AAO-Struct
522// fills the struct and calls the ususal function with the STRUCT parameter
523//
524// used only for the dependency, not for fitting
525//
526Function fSmearedCylinder_SHS(coefW,yW,xW)
527        Wave coefW,yW,xW
528       
529        String str = getWavesDataFolder(yW,0)
530        String DF="root:"+str+":"
531       
532        WAVE resW = $(DF+str+"_res")
533       
534        STRUCT ResSmearAAOStruct fs
535        WAVE fs.coefW = coefW   
536        WAVE fs.yW = yW
537        WAVE fs.xW = xW
538        WAVE fs.resW = resW
539       
540        Variable err
541        err = SmearedCylinder_SHS(fs)
542       
543        return (0)
544End
Note: See TracBrowser for help on using the repository browser.