source: sans/Analysis/branches/ajj_23APR07/XOPs/SANSAnalysis/XOP/SANSAnalysis.r @ 102

Last change on this file since 102 was 97, checked in by ajj, 16 years ago

Now committing the code correctly - having relied on XCode's SVN interface which doesn't behave (quelle surprise).

I hope this isn't too screwed up.

  • Property svn:executable set to *
File size: 18.2 KB
Line 
1/*      CylinderFit.r -- resources for CylinderFit
2//now compatible with Project Builder
3*/
4
5#include "XOPStandardHeaders.r"
6
7resource 'vers' (1) {                                           /* XOP version info */
8        0x01, 0x02, final, 0x00, 0,                             /* version bytes and country integer */
9        "1.02",
10        "1.02, © 1996 WaveMetrics, Inc., all rights reserved."
11};
12
13resource 'vers' (2) {                                           /* Igor version info */
14        0x02, 0x00, release, 0x00, 0,                   /* version bytes and country integer */
15        "2.00",
16        "(for Igor 2.00 or later)"
17};
18
19resource 'STR#' (1100) {                                        /* custom error messages */
20        {
21                /* [1] */
22                "CylinderFit requires Igor Pro 2.0 or later",
23                /* [2] */
24                "Wave does not exist.",
25                /* [3] */
26                "Coefficient wave must be single or double precision floating point.",
27        }
28};
29
30resource 'STR#' (1101) {                                        // Misc strings for XOP.
31        {
32                "-1",                                                           // -1 means we don't want to add a menu item.
33                "No Menu Item",                                         // Igor ignores item 2 because item 1 is -1.
34                "CylinderFit Help",                                     // Name of XOP's help file.
35        }
36};
37
38resource 'XOPI' (1100) {
39                XOP_VERSION,                    /* Tells Igor XOP Toolkit version used to compile XOP */
40                DEV_SYS_CODE,                   /* Identifies MPW C or THINK C. See XOPTypes.r. */
41                0,                              /* this XOP requires hierarchichal menus */
42                0,                              /* this XOP does NOT require a coprocessor */
43                XOP_TOOLKIT_VERSION,            /* this XOP does not require an MMU */
44};
45
46resource 'XOPF' (1100) {
47        {
48                "CylinderFormX",                                                /* function name */
49                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
50                NT_FP64,                                                /* return value type */                 
51                {
52                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
53                        NT_FP64,                                        /* double precision x */
54                },
55               
56                "EllipCyl76X",                                  /* function name */
57                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
58                NT_FP64,                                                /* return value type */                 
59                {
60                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
61                        NT_FP64,                                        /* double precision x */
62                },
63               
64                "EllipCyl20X",                                  /* function name */
65                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
66                NT_FP64,                                                /* return value type */                 
67                {
68                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
69                        NT_FP64,                                        /* double precision x */
70                },
71               
72                "TriaxialEllipsoidX",
73                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
74                NT_FP64,                                                /* return value type */                 
75                {
76                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
77                        NT_FP64,                                        /* double precision x */
78                },
79               
80                "ParallelepipedX",
81                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
82                NT_FP64,                                                /* return value type */                 
83                {
84                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
85                        NT_FP64,                                        /* double precision x */
86                },
87               
88                "HollowCylinderX",
89                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
90                NT_FP64,                                                /* return value type */                 
91                {
92                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
93                        NT_FP64,                                        /* double precision x */
94                },
95               
96                "EllipsoidFormX",
97                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
98                NT_FP64,                                                /* return value type */                 
99                {
100                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
101                        NT_FP64,                                        /* double precision x */
102                },
103
104                "Cyl_PolyRadiusX",
105                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
106                NT_FP64,                                                /* return value type */                 
107                {
108                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
109                        NT_FP64,                                        /* double precision x */
110                },
111               
112                "Cyl_PolyLengthX",
113                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
114                NT_FP64,                                                /* return value type */                 
115                {
116                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
117                        NT_FP64,                                        /* double precision x */
118                },
119               
120                "CoreShellCylinderX",
121                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
122                NT_FP64,                                                /* return value type */                 
123                {
124                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
125                        NT_FP64,                                        /* double precision x */
126                },
127               
128                "OblateFormX",
129                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
130                NT_FP64,                                                /* return value type */                 
131                {
132                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
133                        NT_FP64,                                        /* double precision x */
134                },
135               
136                "ProlateFormX",
137                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
138                NT_FP64,                                                /* return value type */                 
139                {
140                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
141                        NT_FP64,                                        /* double precision x */
142                },
143               
144                "FlexExclVolCylX",
145                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
146                NT_FP64,                                                /* return value type */                 
147                {
148                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
149                        NT_FP64,                                        /* double precision x */
150                },
151               
152                "FlexCyl_PolyLenX",
153                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
154                NT_FP64,                                                /* return value type */                 
155                {
156                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
157                        NT_FP64,                                        /* double precision x */
158                },
159               
160                "FlexCyl_PolyRadX",
161                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
162                NT_FP64,                                                /* return value type */                 
163                {
164                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
165                        NT_FP64,                                        /* double precision x */
166                },
167               
168                "FlexCyl_EllipX",
169                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
170                NT_FP64,                                                /* return value type */                 
171                {
172                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
173                        NT_FP64,                                        /* double precision x */
174                },
175               
176                "PolyCoShCylinderX",
177                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
178                NT_FP64,                                                /* return value type */                 
179                {
180                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
181                        NT_FP64,                                        /* double precision x */
182                },
183               
184                "StackedDiscsX",
185                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
186                NT_FP64,                                                /* return value type */                 
187                {
188                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
189                        NT_FP64,                                        /* double precision x */
190                },
191               
192                "LamellarFFX",
193                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
194                NT_FP64,                                                /* return value type */                 
195                {
196                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
197                        NT_FP64,                                        /* double precision x */
198                },
199               
200                "LamellarFF_HGX",
201                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
202                NT_FP64,                                                /* return value type */                 
203                {
204                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
205                        NT_FP64,                                        /* double precision x */
206                },
207               
208                "LamellarPSX",
209                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
210                NT_FP64,                                                /* return value type */                 
211                {
212                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
213                        NT_FP64,                                        /* double precision x */
214                },
215               
216                "LamellarPS_HGX",
217                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
218                NT_FP64,                                                /* return value type */                 
219                {
220                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
221                        NT_FP64,                                        /* double precision x */
222                },
223                "Smear_Model_20_X",
224                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
225                NT_FP64,                                                /* return value type */                 
226                {
227                        HSTRING_TYPE,
228                        NT_FP64,                                        /* double precision x */
229                        NT_FP64,                                        /* double precision x */
230                        NT_FP64,                                        /* double precision x */
231                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
232                        NT_FP64,                                        /* double precision x */
233                },
234                "Smear_Model_76_X",
235                F_UTIL | F_EXTERNAL,                                    /* function category == UTILITY */
236                NT_FP64,                                                /* return value type */                 
237                {
238                        HSTRING_TYPE,
239                        NT_FP64,                                        /* double precision x */
240                        NT_FP64,                                        /* double precision x */
241                        NT_FP64,                                        /* double precision x */
242                        NT_FP64 + WAVE_TYPE,                            /* double precision wave (coefficient wave) */
243                        NT_FP64,                                        /* double precision x */
244                },
245                                "MultiShellX",                                          /* function name */
246                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
247                NT_FP64,                                                        /* return value type */                 
248                {
249                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
250                        NT_FP64,                                                /* double precision x */
251                },
252               
253                "PolyMultiShellX",                                              /* function name */
254                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
255                NT_FP64,                                                        /* return value type */                 
256                {
257                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
258                        NT_FP64,                                                /* double precision x */
259                },
260               
261                "SphereFormX",                                          /* function name */
262                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
263                NT_FP64,                                                        /* return value type */                 
264                {
265                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
266                        NT_FP64,                                                /* double precision x */
267                },
268               
269                "CoreShellFormX",                                               /* function name */
270                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
271                NT_FP64,                                                        /* return value type */                 
272                {
273                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
274                        NT_FP64,                                                /* double precision x */
275                },
276               
277                "PolyCoreFormX",                                                /* function name */
278                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
279                NT_FP64,                                                        /* return value type */                 
280                {
281                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
282                        NT_FP64,                                                /* double precision x */
283                },
284               
285                "PolyCoreShellRatioX",                                          /* function name */
286                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
287                NT_FP64,                                                        /* return value type */                 
288                {
289                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
290                        NT_FP64,                                                /* double precision x */
291                },
292               
293                "VesicleFormX",                                         /* function name */
294                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
295                NT_FP64,                                                        /* return value type */                 
296                {
297                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
298                        NT_FP64,                                                /* double precision x */
299                },
300
301                "SchulzSpheresX",                                               /* function name */
302                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
303                NT_FP64,                                                        /* return value type */                 
304                {
305                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
306                        NT_FP64,                                                /* double precision x */
307                },
308               
309                "PolyRectSpheresX",                                             /* function name */
310                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
311                NT_FP64,                                                        /* return value type */                 
312                {
313                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
314                        NT_FP64,                                                /* double precision x */
315                },
316               
317                "PolyHardSphereIntensityX",                                             /* function name */
318                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
319                NT_FP64,                                                        /* return value type */                 
320                {
321                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
322                        NT_FP64,                                                /* double precision x */
323                },
324               
325                "BimodalSchulzSpheresX",                                                /* function name */
326                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
327                NT_FP64,                                                        /* return value type */                 
328                {
329                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
330                        NT_FP64,                                                /* double precision x */
331                },
332               
333                "GaussPolySphereX",                                             /* function name */
334                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
335                NT_FP64,                                                        /* return value type */                 
336                {
337                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
338                        NT_FP64,                                                /* double precision x */
339                },
340               
341                "LogNormalPolySphereX",                                         /* function name */
342                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
343                NT_FP64,                                                        /* return value type */                 
344                {
345                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
346                        NT_FP64,                                                /* double precision x */
347                },
348           
349                "BinaryHSX",                                            /* function name */
350                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
351                NT_FP64,                                                        /* return value type */                 
352                {
353                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
354                        NT_FP64,                                                /* double precision x */
355                },
356               
357                "BinaryHS_PSF11X",                                              /* function name */
358                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
359                NT_FP64,                                                        /* return value type */                 
360                {
361                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
362                        NT_FP64,                                                /* double precision x */
363                },
364               
365                "BinaryHS_PSF12X",                                              /* function name */
366                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
367                NT_FP64,                                                        /* return value type */                 
368                {
369                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
370                        NT_FP64,                                                /* double precision x */
371                },
372               
373                "BinaryHS_PSF22X",                                              /* function name */
374                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
375                NT_FP64,                                                        /* return value type */                 
376                {
377                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
378                        NT_FP64,                                                /* double precision x */
379                },
380                "HardSphereStructX",                                            /* function name */
381                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
382                NT_FP64,                                                        /* return value type */                 
383                {
384                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
385                        NT_FP64,                                                /* double precision x */
386                },
387                "SquareWellStructX",                                            /* function name */
388                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
389                NT_FP64,                                                        /* return value type */                 
390                {
391                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
392                        NT_FP64,                                                /* double precision x */
393                },
394                "StickyHS_StructX",                                             /* function name */
395                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
396                NT_FP64,                                                        /* return value type */                 
397                {
398                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
399                        NT_FP64,                                                /* double precision x */
400                },
401                "HayterPenfoldMSAX",                                            /* function name */
402                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
403                NT_FP64,                                                        /* return value type */                 
404                {
405                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
406                        NT_FP64,                                                /* double precision x */
407                },
408                "DiamCylX",                                             /* function name */
409                F_UTIL | F_EXTERNAL,                            /* function category */
410                NT_FP64,                                                        /* return value type */                 
411                {
412                        NT_FP64,                                                /* parameter types */
413                        NT_FP64,
414                },
415                "DiamEllipX",                                           /* function name */
416                F_UTIL | F_EXTERNAL,                            /* function category */
417                NT_FP64,                                                        /* return value type */                 
418                {
419                        NT_FP64,                                                /* parameter types */
420                        NT_FP64,
421                },
422                                "TeubnerStreyModelX",                                           /* function name */
423                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
424                NT_FP64,                                                        /* return value type */                 
425                {
426                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
427                        NT_FP64,                                                /* double precision x */
428                },
429               
430                "Power_Law_ModelX",                                             /* function name */
431                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
432                NT_FP64,                                                        /* return value type */                 
433                {
434                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
435                        NT_FP64,                                                /* double precision x */
436                },
437               
438                "Peak_Lorentz_ModelX",                                          /* function name */
439                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
440                NT_FP64,                                                        /* return value type */                 
441                {
442                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
443                        NT_FP64,                                                /* double precision x */
444                },
445               
446                "Peak_Gauss_ModelX",                                            /* function name */
447                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
448                NT_FP64,                                                        /* return value type */                 
449                {
450                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
451                        NT_FP64,                                                /* double precision x */
452                },
453               
454                "Lorentz_ModelX",                                               /* function name */
455                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
456                NT_FP64,                                                        /* return value type */                 
457                {
458                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
459                        NT_FP64,                                                /* double precision x */
460                },
461               
462                "FractalX",                                             /* function name */
463                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
464                NT_FP64,                                                        /* return value type */                 
465                {
466                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
467                        NT_FP64,                                                /* double precision x */
468                },
469               
470                "DAB_ModelX",                                           /* function name */
471                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
472                NT_FP64,                                                        /* return value type */                 
473                {
474                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
475                        NT_FP64,                                                /* double precision x */
476                },
477               
478                "OneLevelX",                                            /* function name */
479                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
480                NT_FP64,                                                        /* return value type */                 
481                {
482                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
483                        NT_FP64,                                                /* double precision x */
484                },
485               
486                "TwoLevelX",                                            /* function name */
487                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
488                NT_FP64,                                                        /* return value type */                 
489                {
490                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
491                        NT_FP64,                                                /* double precision x */
492                },
493               
494                "ThreeLevelX",                                          /* function name */
495                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
496                NT_FP64,                                                        /* return value type */                 
497                {
498                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
499                        NT_FP64,                                                /* double precision x */
500                },
501               
502                "FourLevelX",                                           /* function name */
503                F_UTIL | F_EXTERNAL,                                    /* function category == Utility */
504                NT_FP64,                                                        /* return value type */                 
505                {
506                        NT_FP64 + WAVE_TYPE,                    /* double precision wave (coefficient wave) */
507                        NT_FP64,                                                /* double precision x */
508                },
509               
510        }
511};
Note: See TracBrowser for help on using the repository browser.