source: sans/Analysis/branches/ajj_23APR07/XOPs/SANSAnalysis/SANSAnalysis.h @ 93

Last change on this file since 93 was 93, checked in by ajj, 15 years ago

Add combined XOP code. Currently only contains XCode project file to build Universal binary suitable for Igor 6.

  • Property svn:executable set to *
File size: 5.0 KB
Line 
1/*
2        SANSAnalysis.h -- definitions general to all code.
3*/
4
5
6/* Prototypes */
7HOST_IMPORT void main(IORecHandle ioRecHandle);
8
9// Custom error codes
10#define REQUIRES_IGOR_200 1 + FIRST_XOP_ERR
11#define NON_EXISTENT_WAVE 2 + FIRST_XOP_ERR
12#define REQUIRES_SP_OR_DP_WAVE 3 + FIRST_XOP_ERR
13
14// Fit function parameter structure
15typedef struct FitParams {
16        DOUBLE x;                               // Independent variable.
17        waveHndl waveHandle;    // Coefficient wave.
18        DOUBLE result;
19}FitParams, *FitParamsPtr;
20
21
22// Gaussians
23static DOUBLE Gauss20Wt[20]={
24        .0176140071391521,
25        .0406014298003869,
26        .0626720483341091,
27        .0832767415767047,
28        .10193011981724,
29        .118194531961518,
30        .131688638449177,
31        .142096109318382,
32        .149172986472604,
33        .152753387130726,
34        .152753387130726,
35        .149172986472604,
36        .142096109318382,
37        .131688638449177,
38        .118194531961518,
39        .10193011981724,
40        .0832767415767047,
41        .0626720483341091,
42        .0406014298003869,
43        .0176140071391521
44};
45
46static DOUBLE Gauss20Z[20]={
47        -.993128599185095,
48        -.963971927277914,
49        -.912234428251326,
50        -.839116971822219,
51        -.746331906460151,
52        -.636053680726515,
53        -.510867001950827,
54        -.37370608871542,
55        -.227785851141645,
56        -.076526521133497,
57        .0765265211334973,
58        .227785851141645,
59        .37370608871542,
60        .510867001950827,
61        .636053680726515,
62        .746331906460151,
63        .839116971822219,
64        .912234428251326,
65        .963971927277914,
66        .993128599185095
67};
68
69static DOUBLE Gauss76Wt[76]={
70        .00126779163408536,             //0
71        .00294910295364247,
72        .00462793522803742,
73        .00629918049732845,
74        .00795984747723973,
75        .00960710541471375,
76        .0112381685696677,
77        .0128502838475101,
78        .0144407317482767,
79        .0160068299122486,
80        .0175459372914742,              //10
81        .0190554584671906,
82        .020532847967908,
83        .0219756145344162,
84        .0233813253070112,
85        .0247476099206597,
86        .026072164497986,
87        .0273527555318275,
88        .028587223650054,
89        .029773487255905,
90        .0309095460374916,              //20
91        .0319934843404216,
92        .0330234743977917,
93        .0339977794120564,
94        .0349147564835508,
95        .0357728593807139,
96        .0365706411473296,
97        .0373067565423816,
98        .0379799643084053,
99        .0385891292645067,
100        .0391332242205184,              //30
101        .0396113317090621,
102        .0400226455325968,
103        .040366472122844,
104        .0406422317102947,
105        .0408494593018285,
106        .040987805464794,
107        .0410570369162294,
108        .0410570369162294,
109        .040987805464794,
110        .0408494593018285,              //40
111        .0406422317102947,
112        .040366472122844,
113        .0400226455325968,
114        .0396113317090621,
115        .0391332242205184,
116        .0385891292645067,
117        .0379799643084053,
118        .0373067565423816,
119        .0365706411473296,
120        .0357728593807139,              //50
121        .0349147564835508,
122        .0339977794120564,
123        .0330234743977917,
124        .0319934843404216,
125        .0309095460374916,
126        .029773487255905,
127        .028587223650054,
128        .0273527555318275,
129        .026072164497986,
130        .0247476099206597,              //60
131        .0233813253070112,
132        .0219756145344162,
133        .020532847967908,
134        .0190554584671906,
135        .0175459372914742,
136        .0160068299122486,
137        .0144407317482767,
138        .0128502838475101,
139        .0112381685696677,
140        .00960710541471375,             //70
141        .00795984747723973,
142        .00629918049732845,
143        .00462793522803742,
144        .00294910295364247,
145        .00126779163408536              //75 (indexed from 0)
146};
147static DOUBLE Gauss76Z[76]={
148         .999505948362153*(-1.0),               //0
149         .997397786355355*(-1.0),
150         .993608772723527*(-1.0),
151         .988144453359837*(-1.0),
152         .981013938975656*(-1.0),
153         .972229228520377*(-1.0),
154         .961805126758768*(-1.0),
155         .949759207710896*(-1.0),
156         .936111781934811*(-1.0),
157         .92088586125215*(-1.0),
158         .904107119545567*(-1.0),               //10
159         .885803849292083*(-1.0),
160         .866006913771982*(-1.0),
161         .844749694983342*(-1.0),
162         .822068037328975*(-1.0),
163         .7980001871612*(-1.0),
164         .77258672828181*(-1.0),
165         .74587051350361*(-1.0),
166         .717896592387704*(-1.0),
167         .688712135277641*(-1.0),
168         .658366353758143*(-1.0),               //20
169         .626910417672267*(-1.0),
170         .594397368836793*(-1.0),
171         .560882031601237*(-1.0),
172         .526420920401243*(-1.0),
173         .491072144462194*(-1.0),
174         .454895309813726*(-1.0),
175         .417951418780327*(-1.0),
176         .380302767117504*(-1.0),
177         .342012838966962*(-1.0),
178         .303146199807908*(-1.0),               //30
179         .263768387584994*(-1.0),
180         .223945802196474*(-1.0),
181         .183745593528914*(-1.0),
182         .143235548227268*(-1.0),
183         .102483975391227*(-1.0),
184         .0615595913906112*(-1.0),
185         .0205314039939986*(-1.0),
186        -.0205314039939986*(-1.0),
187        -.0615595913906112*(-1.0),
188        -.102483975391227*(-1.0),                       //40
189        -.143235548227268*(-1.0),
190        -.183745593528914*(-1.0),
191        -.223945802196474*(-1.0),
192        -.263768387584994*(-1.0),
193        -.303146199807908*(-1.0),
194        -.342012838966962*(-1.0),
195        -.380302767117504*(-1.0),
196        -.417951418780327*(-1.0),
197        -.454895309813726*(-1.0),
198        -.491072144462194*(-1.0),               //50
199        -.526420920401243*(-1.0),
200        -.560882031601237*(-1.0),
201        -.594397368836793*(-1.0),
202        -.626910417672267*(-1.0),
203        -.658366353758143*(-1.0),
204        -.688712135277641*(-1.0),
205        -.717896592387704*(-1.0),
206        -.74587051350361*(-1.0),
207        -.77258672828181*(-1.0),
208        -.7980001871612*(-1.0), //60
209        -.822068037328975*(-1.0),
210        -.844749694983342*(-1.0),
211        -.866006913771982*(-1.0),
212        -.885803849292083*(-1.0),
213        -.904107119545567*(-1.0),
214        -.92088586125215*(-1.0),
215        -.936111781934811*(-1.0),
216        -.949759207710896*(-1.0),
217        -.961805126758768*(-1.0),
218        -.972229228520377*(-1.0),               //70
219        -.981013938975656*(-1.0),
220        -.988144453359837*(-1.0),
221        -.993608772723527*(-1.0),
222        -.997397786355355*(-1.0),
223        -.999505948362153*(-1.0)                //75
224};
Note: See TracBrowser for help on using the repository browser.