1 |
* |
2 |
* $Id$ |
3 |
* |
4 |
* $Log$ |
5 |
* |
6 |
*CMZ : 3.00/00 28/08/2001 21.42.01 by Unknown |
7 |
*-- Author : Marialuigia Ambriola 03/04/2001 |
8 |
REAL FUNCTION XTRYIELD(I,G) |
9 |
***************** |
10 |
* Generate the energy spectra for x-rays transition radiation for a given |
11 |
* energy, per interface, without any absorption. |
12 |
* Ml. 3/04/2001 |
13 |
***************** |
14 |
PARAMETER (ALPHA=1/137.,PG=3.1415926536,HTC=197.3269E-16) |
15 |
PARAMETER (C=3.E+10) |
16 |
REAL X,C0,RMIN,A0,SUM,TRD2,B0,B1,B2,G |
17 |
INTEGER IMIN,IMAX,I |
18 |
C DATA RL1/7.0E-4/,RL2/14.1E-4/,N/709/,w1/31.59E-9/,w2/.7E-9/ |
19 |
DATA RL1/7.0E-4/,RL2/204.E-4/,N/71/,w1/31.59E-9/,w2/.7E-9/ |
20 |
#include "gpaltr.inc" |
21 |
C |
22 |
XTRYIELD=0. |
23 |
IF(I.EQ.1) THEN |
24 |
RMAX=(RL1+RL2)/(2*PG*HTC)*sqrt((RL1*W1**2+RL2*W2**2)/(RL1+RL2)) |
25 |
C PRINT*,'AMASS',AMASS |
26 |
c PRINT*,RMAX |
27 |
ENDIF |
28 |
X=ENATT(I)*1.E-6 |
29 |
c PRINT*,X,I,ENATT(I) |
30 |
C0=(RL1+RL2)/(4*PG*HTC)*(X/G**2+(RL1*W1**2+RL2*W2**2)/X/(RL1+RL2)) |
31 |
IMIN=1+MAX(INT(RMAX/G),INT(C0)) |
32 |
IMAX=INT(RMAX) |
33 |
A0=ALPHA*((W1**2-W2**2)/X)**2*(RL1+RL2)**2/(X*HTC**2) |
34 |
SUM=0. |
35 |
C PRINT*,'IMIN,IMAX,RMAX,c0,rmax/g=',IMIN,IMAX,RMAX,c0,RMAX/G |
36 |
DO J=IMIN,IMAX |
37 |
B0=RL2/(RL1+RL2)*(RL1*(W1**2-W2**2)/(4*X*HTC)-PG*FLOAT(J)) |
38 |
B0=SIN(B0)**2 |
39 |
B1=2.*PG*FLOAT(J)-(RL1+RL2)*X/(2.*G**2*HTC)- |
40 |
+ (RL1*W1**2+RL2*W2**2)/(2.*X*HTC) |
41 |
B2=(RL1*(W1**2-W2**2)/(2.*X*HTC)-2*PG*FLOAT(J))**2 |
42 |
B2=B2*(RL2*(W2**2-W1**2)/(2.*X*HTC)-2*PG*FLOAT(J))**2 |
43 |
C PRINT*,'J,B0,B1,B2,SUM=',IMIN,IMAX,B0,B1,B2,SUM |
44 |
SUM=SUM+B0*B1/B2 |
45 |
ENDDO |
46 |
XTRYIELD=X*A0*SUM |
47 |
c PRINT*,'XTRYIELD',XTRYIELD |
48 |
RETURN |
49 |
END |