This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / gphys / glandr.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:21:25  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.22  by  S.Giani
11 *-- Author :
12       FUNCTION GLANDR(X)
13 C.
14 C.    ******************************************************************
15 C.    *                                                                *
16 C.    *  Copy of the CERN library routine RANLAN for restricted        *
17 C.    *  Landau distribution.                                          *
18 C.    *                                                                *
19 C.    *    ==>Called by : GLANDO                                       *
20 C.    *                                                                *
21 C.    ******************************************************************
22 C.
23       DIMENSION F(-1:1002)
24       DATA (F(I),I= -1,100)
25      A/     7*0.,                                        -2.244733,
26      B -2.204365,-2.168163,-2.135219,-2.104898,-2.076740,-2.050397,
27      C -2.025605,-2.002150,-1.979866,-1.958612,-1.938275,-1.918760,
28      D -1.899984,-1.881879,-1.864385,-1.847451,-1.831030,-1.815083,
29      E -1.799574,-1.784473,-1.769751,-1.755383,-1.741346,-1.727620,
30      F -1.714187,-1.701029,-1.688130,-1.675477,-1.663057,-1.650858,
31      G -1.638868,-1.627078,-1.615477,-1.604058,-1.592811,-1.581729,
32      H -1.570806,-1.560034,-1.549407,-1.538919,-1.528565,-1.518339,
33      I -1.508237,-1.498254,-1.488386,-1.478628,-1.468976,-1.459428,
34      J -1.449979,-1.440626,-1.431365,-1.422195,-1.413111,-1.404112,
35      K -1.395194,-1.386356,-1.377594,-1.368906,-1.360291,-1.351746,
36      L -1.343269,-1.334859,-1.326512,-1.318229,-1.310006,-1.301843,
37      M -1.293737,-1.285688,-1.277693,-1.269752,-1.261863,-1.254024,
38      N -1.246235,-1.238494,-1.230800,-1.223153,-1.215550,-1.207990,
39      O -1.200474,-1.192999,-1.185566,-1.178172,-1.170817,-1.163500,
40      P -1.156220,-1.148977,-1.141770,-1.134598,-1.127459,-1.120354,
41      Q -1.113282,-1.106242,-1.099233,-1.092255/
42 C
43       DATA (F(I),I=101,200)
44      A/-1.085306,-1.078388,-1.071498,-1.064636,-1.057802,-1.050996,
45      B -1.044215,-1.037461,-1.030733,-1.024029,-1.017350,-1.010695,
46      C -1.004064, -.997456, -.990871, -.984308, -.977767, -.971247,
47      D  -.964749, -.958271, -.951813, -.945375, -.938957, -.932558,
48      E  -.926178, -.919816, -.913472, -.907146, -.900838, -.894547,
49      F  -.888272, -.882014, -.875773, -.869547, -.863337, -.857142,
50      G  -.850963, -.844798, -.838648, -.832512, -.826390, -.820282,
51      H  -.814187, -.808106, -.802038, -.795982, -.789940, -.783909,
52      I  -.777891, -.771884, -.765889, -.759906, -.753934, -.747973,
53      J  -.742023, -.736084, -.730155, -.724237, -.718328, -.712429,
54      K  -.706541, -.700661, -.694791, -.688931, -.683079, -.677236,
55      L  -.671402, -.665576, -.659759, -.653950, -.648149, -.642356,
56      M  -.636570, -.630793, -.625022, -.619259, -.613503, -.607754,
57      N  -.602012, -.596276, -.590548, -.584825, -.579109, -.573399,
58      O  -.567695, -.561997, -.556305, -.550618, -.544937, -.539262,
59      P  -.533592, -.527926, -.522266, -.516611, -.510961, -.505315,
60      Q  -.499674, -.494037, -.488405, -.482777/
61 C
62       DATA (F(I),I=201,300)
63      A/ -.477153, -.471533, -.465917, -.460305, -.454697, -.449092,
64      B  -.443491, -.437893, -.432299, -.426707, -.421119, -.415534,
65      C  -.409951, -.404372, -.398795, -.393221, -.387649, -.382080,
66      D  -.376513, -.370949, -.365387, -.359826, -.354268, -.348712,
67      E  -.343157, -.337604, -.332053, -.326503, -.320955, -.315408,
68      F  -.309863, -.304318, -.298775, -.293233, -.287692, -.282152,
69      G  -.276613, -.271074, -.265536, -.259999, -.254462, -.248926,
70      H  -.243389, -.237854, -.232318, -.226783, -.221247, -.215712,
71      I  -.210176, -.204641, -.199105, -.193568, -.188032, -.182495,
72      J  -.176957, -.171419, -.165880, -.160341, -.154800, -.149259,
73      K  -.143717, -.138173, -.132629, -.127083, -.121537, -.115989,
74      L  -.110439, -.104889, -.099336, -.093782, -.088227, -.082670,
75      M  -.077111, -.071550, -.065987, -.060423, -.054856, -.049288,
76      N  -.043717, -.038144, -.032569, -.026991, -.021411, -.015828,
77      O  -.010243, -.004656,  .000934,  .006527,  .012123,  .017722,
78      P   .023323,  .028928,  .034535,  .040146,  .045759,  .051376,
79      Q   .056997,  .062620,  .068247,  .073877/
80 C
81       DATA (F(I),I=301,400)
82      A/  .079511,  .085149,  .090790,  .096435,  .102083,  .107736,
83      B   .113392,  .119052,  .124716,  .130385,  .136057,  .141734,
84      C   .147414,  .153100,  .158789,  .164483,  .170181,  .175884,
85      D   .181592,  .187304,  .193021,  .198743,  .204469,  .210201,
86      E   .215937,  .221678,  .227425,  .233177,  .238933,  .244696,
87      F   .250463,  .256236,  .262014,  .267798,  .273587,  .279382,
88      G   .285183,  .290989,  .296801,  .302619,  .308443,  .314273,
89      H   .320109,  .325951,  .331799,  .337654,  .343515,  .349382,
90      I   .355255,  .361135,  .367022,  .372915,  .378815,  .384721,
91      J   .390634,  .396554,  .402481,  .408415,  .414356,  .420304,
92      K   .426260,  .432222,  .438192,  .444169,  .450153,  .456145,
93      L   .462144,  .468151,  .474166,  .480188,  .486218,  .492256,
94      M   .498302,  .504356,  .510418,  .516488,  .522566,  .528653,
95      N   .534747,  .540850,  .546962,  .553082,  .559210,  .565347,
96      O   .571493,  .577648,  .583811,  .589983,  .596164,  .602355,
97      P   .608554,  .614762,  .620980,  .627207,  .633444,  .639689,
98      Q   .645945,  .652210,  .658484,  .664768/
99 C
100       DATA (F(I),I=401,500)
101      A/  .671062,  .677366,  .683680,  .690004,  .696338,  .702682,
102      B   .709036,  .715400,  .721775,  .728160,  .734556,  .740963,
103      C   .747379,  .753807,  .760246,  .766695,  .773155,  .779627,
104      D   .786109,  .792603,  .799107,  .805624,  .812151,  .818690,
105      E   .825241,  .831803,  .838377,  .844962,  .851560,  .858170,
106      F   .864791,  .871425,  .878071,  .884729,  .891399,  .898082,
107      G   .904778,  .911486,  .918206,  .924940,  .931686,  .938446,
108      H   .945218,  .952003,  .958802,  .965614,  .972439,  .979278,
109      I   .986130,  .992996,  .999875, 1.006769, 1.013676, 1.020597,
110      J  1.027533, 1.034482, 1.041446, 1.048424, 1.055417, 1.062424,
111      K  1.069446, 1.076482, 1.083534, 1.090600, 1.097681, 1.104778,
112      L  1.111889, 1.119016, 1.126159, 1.133316, 1.140490, 1.147679,
113      M  1.154884, 1.162105, 1.169342, 1.176595, 1.183864, 1.191149,
114      N  1.198451, 1.205770, 1.213105, 1.220457, 1.227826, 1.235211,
115      O  1.242614, 1.250034, 1.257471, 1.264926, 1.272398, 1.279888,
116      P  1.287395, 1.294921, 1.302464, 1.310026, 1.317605, 1.325203,
117      Q  1.332819, 1.340454, 1.348108, 1.355780/
118 C
119       DATA (F(I),I=501,600)
120      A/ 1.363472, 1.371182, 1.378912, 1.386660, 1.394429, 1.402216,
121      B  1.410024, 1.417851, 1.425698, 1.433565, 1.441453, 1.449360,
122      C  1.457288, 1.465237, 1.473206, 1.481196, 1.489208, 1.497240,
123      D  1.505293, 1.513368, 1.521465, 1.529583, 1.537723, 1.545885,
124      E  1.554068, 1.562275, 1.570503, 1.578754, 1.587028, 1.595325,
125      F  1.603644, 1.611987, 1.620353, 1.628743, 1.637156, 1.645593,
126      G  1.654053, 1.662538, 1.671047, 1.679581, 1.688139, 1.696721,
127      H  1.705329, 1.713961, 1.722619, 1.731303, 1.740011, 1.748746,
128      I  1.757506, 1.766293, 1.775106, 1.783945, 1.792810, 1.801703,
129      J  1.810623, 1.819569, 1.828543, 1.837545, 1.846574, 1.855631,
130      K  1.864717, 1.873830, 1.882972, 1.892143, 1.901343, 1.910572,
131      L  1.919830, 1.929117, 1.938434, 1.947781, 1.957158, 1.966566,
132      M  1.976004, 1.985473, 1.994972, 2.004503, 2.014065, 2.023659,
133      N  2.033285, 2.042943, 2.052633, 2.062355, 2.072110, 2.081899,
134      O  2.091720, 2.101575, 2.111464, 2.121386, 2.131343, 2.141334,
135      P  2.151360, 2.161421, 2.171517, 2.181648, 2.191815, 2.202018,
136      Q  2.212257, 2.222533, 2.232845, 2.243195/
137 C
138       DATA (F(I),I=601,700)
139      A/ 2.253582, 2.264006, 2.274468, 2.284968, 2.295507, 2.306084,
140      B  2.316701, 2.327356, 2.338051, 2.348786, 2.359562, 2.370377,
141      C  2.381234, 2.392131, 2.403070, 2.414051, 2.425073, 2.436138,
142      D  2.447246, 2.458397, 2.469591, 2.480828, 2.492110, 2.503436,
143      E  2.514807, 2.526222, 2.537684, 2.549190, 2.560743, 2.572343,
144      F  2.583989, 2.595682, 2.607423, 2.619212, 2.631050, 2.642936,
145      G  2.654871, 2.666855, 2.678890, 2.690975, 2.703110, 2.715297,
146      H  2.727535, 2.739825, 2.752168, 2.764563, 2.777012, 2.789514,
147      I  2.802070, 2.814681, 2.827347, 2.840069, 2.852846, 2.865680,
148      J  2.878570, 2.891518, 2.904524, 2.917588, 2.930712, 2.943894,
149      K  2.957136, 2.970439, 2.983802, 2.997227, 3.010714, 3.024263,
150      L  3.037875, 3.051551, 3.065290, 3.079095, 3.092965, 3.106900,
151      M  3.120902, 3.134971, 3.149107, 3.163312, 3.177585, 3.191928,
152      N  3.206340, 3.220824, 3.235378, 3.250005, 3.264704, 3.279477,
153      O  3.294323, 3.309244, 3.324240, 3.339312, 3.354461, 3.369687,
154      P  3.384992, 3.400375, 3.415838, 3.431381, 3.447005, 3.462711,
155      Q  3.478500, 3.494372, 3.510328, 3.526370/
156 C
157       DATA (F(I),I=701,800)
158      A/ 3.542497, 3.558711, 3.575012, 3.591402, 3.607881, 3.624450,
159      B  3.641111, 3.657863, 3.674708, 3.691646, 3.708680, 3.725809,
160      C  3.743034, 3.760357, 3.777779, 3.795300, 3.812921, 3.830645,
161      D  3.848470, 3.866400, 3.884434, 3.902574, 3.920821, 3.939176,
162      E  3.957640, 3.976215, 3.994901, 4.013699, 4.032612, 4.051639,
163      F  4.070783, 4.090045, 4.109425, 4.128925, 4.148547, 4.168292,
164      G  4.188160, 4.208154, 4.228275, 4.248524, 4.268903, 4.289413,
165      H  4.310056, 4.330832, 4.351745, 4.372794, 4.393982, 4.415310,
166      I  4.436781, 4.458395, 4.480154, 4.502060, 4.524114, 4.546319,
167      J  4.568676, 4.591187, 4.613854, 4.636678, 4.659662, 4.682807,
168      K  4.706116, 4.729590, 4.753231, 4.777041, 4.801024, 4.825179,
169      L  4.849511, 4.874020, 4.898710, 4.923582, 4.948639, 4.973883,
170      M  4.999316, 5.024942, 5.050761, 5.076778, 5.102993, 5.129411,
171      N  5.156034, 5.182864, 5.209903, 5.237156, 5.264625, 5.292312,
172      O  5.320220, 5.348354, 5.376714, 5.405306, 5.434131, 5.463193,
173      P  5.492496, 5.522042, 5.551836, 5.581880, 5.612178, 5.642734,
174      Q  5.673552, 5.704634, 5.735986, 5.767610/
175 C
176       DATA (F(I),I=801,900)
177      A/ 5.799512, 5.831694, 5.864161, 5.896918, 5.929968, 5.963316,
178      B  5.996967, 6.030925, 6.065194, 6.099780, 6.134687, 6.169921,
179      C  6.205486, 6.241387, 6.277630, 6.314220, 6.351163, 6.388465,
180      D  6.426130, 6.464166, 6.502578, 6.541371, 6.580553, 6.620130,
181      E  6.660109, 6.700495, 6.741297, 6.782520, 6.824173, 6.866262,
182      F  6.908795, 6.951780, 6.995225, 7.039137, 7.083525, 7.128398,
183      G  7.173764, 7.219632, 7.266011, 7.312910, 7.360339, 7.408308,
184      H  7.456827, 7.505905, 7.555554, 7.605785, 7.656608, 7.708035,
185      I  7.760077, 7.812747, 7.866057, 7.920019, 7.974647, 8.029953,
186      J  8.085952, 8.142657, 8.200083, 8.258245, 8.317158, 8.376837,
187      K  8.437300, 8.498562, 8.560641, 8.623554, 8.687319, 8.751955,
188      L  8.817481, 8.883916, 8.951282, 9.019600, 9.088889, 9.159174,
189      M  9.230477, 9.302822, 9.376233, 9.450735, 9.526355, 9.603118,
190      N  9.681054, 9.760191, 9.840558, 9.922186,10.005107,10.089353,
191      O 10.174959,10.261958,10.350389,10.440287,10.531693,10.624646,
192      P 10.719188,10.815362,10.913214,11.012789,11.114137,11.217307,
193      Q 11.322352,11.429325,11.538283,11.649285/
194 C
195       DATA (F(I),I=901,1002)
196      A/11.762390,11.877664,11.995170,12.114979,12.237161,12.361791,
197      B 12.488946,12.618708,12.751161,12.886394,13.024498,13.165570,
198      C 13.309711,13.457026,13.607625,13.761625,13.919145,14.080314,
199      D 14.245263,14.414134,14.587072,14.764233,14.945778,15.131877,
200      E 15.322712,15.518470,15.719353,15.925570,16.137345,16.354912,
201      F 16.578520,16.808433,17.044929,17.288305,17.538873,17.796967,
202      G 18.062943,18.337176,18.620068,18.912049,19.213574,19.525133,
203      H 19.847249,20.180480,20.525429,20.882738,21.253102,21.637266,
204      I 22.036036,22.450278,22.880933,23.329017,23.795634,24.281981,
205      J 24.789364,25.319207,25.873062,26.452634,27.059789,27.696581,
206      K 28.365274,29.068370,29.808638,30.589157,31.413354,32.285060,
207      L 33.208568,34.188705,35.230920,36.341388,37.527131,38.796172,
208      M 40.157721,41.622399,43.202525,44.912465,46.769077,48.792279,
209      N 51.005773,53.437996,56.123356,59.103894,              20*0./
210 C.
211 C.    ------------------------------------------------------------------
212 C.
213       U=1000.0*X
214       I=U
215       U=U-FLOAT(I)
216       GLANDR=F(I)+U*(F(I+1)-F(I))
217       IF(I .GE. 70 .AND. I .LE. 800) RETURN
218       GLANDR=GLANDR-0.25*U*(1.0-U)*(F(I+2)-F(I+1)-F(I)+F(I-1))
219       IF(I .GE.  7 .AND. I .LE. 980) RETURN
220       IF(I. LT. 7) THEN
221          IF(X.LT.1.E-10)THEN
222             V=-30.
223          ELSE
224             V=LOG(X)
225          ENDIF
226          U=1.0/V
227          GLANDR=((0.99858950+(3.45213058E1+1.70854528E1*U)*U)/
228      1           (1.0       +(3.41760202E1+4.01244582  *U)*U))*
229      2           (-LOG(-0.91893853-V)-1.0)
230       ELSE
231          U=1.0-X
232          V=U**2
233          IF(X .LE. 0.999) THEN
234             GLANDR=(1.00060006+2.63991156E2*U+4.37320068E3*V)/
235      1             ((1.0       +2.57368075E2*U+3.41448018E3*V)*U)
236          ELSE
237             GLANDR=(1.00001538+6.07514119E3*U+7.34266409E5*V)/
238      1             ((1.0       +6.06511919E3*U+6.94021044E5*V)*U)
239          ENDIF
240       ENDIF
241       END