1 | real ConvLens_kernel(real len, real rad, real endRad, real x, real tt, real theta) |
---|
2 | { |
---|
3 | real be = 0; |
---|
4 | real hDist = -1.0*sqrt(fabs(endRad*endRad-rad*rad)); |
---|
5 | real arg1 = x*cos(theta)*(endRad*tt+hDist+len/2.0); |
---|
6 | real arg2 = x*endRad*sin(theta)*sqrt(1.0-tt*tt); |
---|
7 | |
---|
8 | if(arg2 == 0) {be = 0.5;} |
---|
9 | else { |
---|
10 | be = NR_BessJ1(arg2)/arg2; |
---|
11 | } |
---|
12 | real val = cos(arg1)*(1.0-tt*tt)*be; |
---|
13 | |
---|
14 | return(val); |
---|
15 | } |
---|
16 | /* |
---|
17 | real Gauss76Z[76]={ |
---|
18 | .999505948362153*(-1.0), //0 |
---|
19 | .997397786355355*(-1.0), |
---|
20 | .993608772723527*(-1.0), |
---|
21 | .988144453359837*(-1.0), |
---|
22 | .981013938975656*(-1.0), |
---|
23 | .972229228520377*(-1.0), |
---|
24 | .961805126758768*(-1.0), |
---|
25 | .949759207710896*(-1.0), |
---|
26 | .936111781934811*(-1.0), |
---|
27 | .92088586125215*(-1.0), |
---|
28 | .904107119545567*(-1.0), //10 |
---|
29 | .885803849292083*(-1.0), |
---|
30 | .866006913771982*(-1.0), |
---|
31 | .844749694983342*(-1.0), |
---|
32 | .822068037328975*(-1.0), |
---|
33 | .7980001871612*(-1.0), |
---|
34 | .77258672828181*(-1.0), |
---|
35 | .74587051350361*(-1.0), |
---|
36 | .717896592387704*(-1.0), |
---|
37 | .688712135277641*(-1.0), |
---|
38 | .658366353758143*(-1.0), //20 |
---|
39 | .626910417672267*(-1.0), |
---|
40 | .594397368836793*(-1.0), |
---|
41 | .560882031601237*(-1.0), |
---|
42 | .526420920401243*(-1.0), |
---|
43 | .491072144462194*(-1.0), |
---|
44 | .454895309813726*(-1.0), |
---|
45 | .417951418780327*(-1.0), |
---|
46 | .380302767117504*(-1.0), |
---|
47 | .342012838966962*(-1.0), |
---|
48 | .303146199807908*(-1.0), //30 |
---|
49 | .263768387584994*(-1.0), |
---|
50 | .223945802196474*(-1.0), |
---|
51 | .183745593528914*(-1.0), |
---|
52 | .143235548227268*(-1.0), |
---|
53 | .102483975391227*(-1.0), |
---|
54 | .0615595913906112*(-1.0), |
---|
55 | .0205314039939986*(-1.0), |
---|
56 | -.0205314039939986*(-1.0), |
---|
57 | -.0615595913906112*(-1.0), |
---|
58 | -.102483975391227*(-1.0), //40 |
---|
59 | -.143235548227268*(-1.0), |
---|
60 | -.183745593528914*(-1.0), |
---|
61 | -.223945802196474*(-1.0), |
---|
62 | -.263768387584994*(-1.0), |
---|
63 | -.303146199807908*(-1.0), |
---|
64 | -.342012838966962*(-1.0), |
---|
65 | -.380302767117504*(-1.0), |
---|
66 | -.417951418780327*(-1.0), |
---|
67 | -.454895309813726*(-1.0), |
---|
68 | -.491072144462194*(-1.0), //50 |
---|
69 | -.526420920401243*(-1.0), |
---|
70 | -.560882031601237*(-1.0), |
---|
71 | -.594397368836793*(-1.0), |
---|
72 | -.626910417672267*(-1.0), |
---|
73 | -.658366353758143*(-1.0), |
---|
74 | -.688712135277641*(-1.0), |
---|
75 | -.717896592387704*(-1.0), |
---|
76 | -.74587051350361*(-1.0), |
---|
77 | -.77258672828181*(-1.0), |
---|
78 | -.7980001871612*(-1.0), //60 |
---|
79 | -.822068037328975*(-1.0), |
---|
80 | -.844749694983342*(-1.0), |
---|
81 | -.866006913771982*(-1.0), |
---|
82 | -.885803849292083*(-1.0), |
---|
83 | -.904107119545567*(-1.0), |
---|
84 | -.92088586125215*(-1.0), |
---|
85 | -.936111781934811*(-1.0), |
---|
86 | -.949759207710896*(-1.0), |
---|
87 | -.961805126758768*(-1.0), |
---|
88 | -.972229228520377*(-1.0), //70 |
---|
89 | -.981013938975656*(-1.0), |
---|
90 | -.988144453359837*(-1.0), |
---|
91 | -.993608772723527*(-1.0), |
---|
92 | -.997397786355355*(-1.0), |
---|
93 | -.999505948362153*(-1.0) //75 |
---|
94 | }; |
---|
95 | real Gauss76Wt[76]={ |
---|
96 | .00126779163408536, //0 |
---|
97 | .00294910295364247, |
---|
98 | .00462793522803742, |
---|
99 | .00629918049732845, |
---|
100 | .00795984747723973, |
---|
101 | .00960710541471375, |
---|
102 | .0112381685696677, |
---|
103 | .0128502838475101, |
---|
104 | .0144407317482767, |
---|
105 | .0160068299122486, |
---|
106 | .0175459372914742, //10 |
---|
107 | .0190554584671906, |
---|
108 | .020532847967908, |
---|
109 | .0219756145344162, |
---|
110 | .0233813253070112, |
---|
111 | .0247476099206597, |
---|
112 | .026072164497986, |
---|
113 | .0273527555318275, |
---|
114 | .028587223650054, |
---|
115 | .029773487255905, |
---|
116 | .0309095460374916, //20 |
---|
117 | .0319934843404216, |
---|
118 | .0330234743977917, |
---|
119 | .0339977794120564, |
---|
120 | .0349147564835508, |
---|
121 | .0357728593807139, |
---|
122 | .0365706411473296, |
---|
123 | .0373067565423816, |
---|
124 | .0379799643084053, |
---|
125 | .0385891292645067, |
---|
126 | .0391332242205184, //30 |
---|
127 | .0396113317090621, |
---|
128 | .0400226455325968, |
---|
129 | .040366472122844, |
---|
130 | .0406422317102947, |
---|
131 | .0408494593018285, |
---|
132 | .040987805464794, |
---|
133 | .0410570369162294, |
---|
134 | .0410570369162294, |
---|
135 | .040987805464794, |
---|
136 | .0408494593018285, //40 |
---|
137 | .0406422317102947, |
---|
138 | .040366472122844, |
---|
139 | .0400226455325968, |
---|
140 | .0396113317090621, |
---|
141 | .0391332242205184, |
---|
142 | .0385891292645067, |
---|
143 | .0379799643084053, |
---|
144 | .0373067565423816, |
---|
145 | .0365706411473296, |
---|
146 | .0357728593807139, //50 |
---|
147 | .0349147564835508, |
---|
148 | .0339977794120564, |
---|
149 | .0330234743977917, |
---|
150 | .0319934843404216, |
---|
151 | .0309095460374916, |
---|
152 | .029773487255905, |
---|
153 | .028587223650054, |
---|
154 | .0273527555318275, |
---|
155 | .026072164497986, |
---|
156 | .0247476099206597, //60 |
---|
157 | .0233813253070112, |
---|
158 | .0219756145344162, |
---|
159 | .020532847967908, |
---|
160 | .0190554584671906, |
---|
161 | .0175459372914742, |
---|
162 | .0160068299122486, |
---|
163 | .0144407317482767, |
---|
164 | .0128502838475101, |
---|
165 | .0112381685696677, |
---|
166 | .00960710541471375, //70 |
---|
167 | .00795984747723973, |
---|
168 | .00629918049732845, |
---|
169 | .00462793522803742, |
---|
170 | .00294910295364247, |
---|
171 | .00126779163408536 //75 (indexed from 0) |
---|
172 | }; |
---|
173 | */ |
---|