Last change
on this file since 114 was
114,
checked in by moretto, 11 years ago
|
actual version of ESAF at CCin2p3
|
File size:
1.1 KB
|
Line | |
---|
1 | SUBROUTINE FLUOR_SPECTRUM(randomwave) |
---|
2 | IMPLICIT NONE |
---|
3 | #include "fluor.inc" |
---|
4 | #include "detector.inc" |
---|
5 | #include "erandom.inc" |
---|
6 | |
---|
7 | * ... LOCAL VARIABLES ... |
---|
8 | REAL total_weight, FLUORRELWEIGHTS(13),UNIT(14) |
---|
9 | REAL*8 rndm |
---|
10 | INTEGER i |
---|
11 | * ... OUTPUT VARIABLES ... |
---|
12 | REAL randomwave |
---|
13 | * |
---|
14 | total_weight = 0. |
---|
15 | DO i = 1, 13 |
---|
16 | IF(WAVE(1).LE.FLUORWAVES(i).AND.FLUORWAVES(i).LE.WAVE(2)) THEN |
---|
17 | total_weight = total_weight + FLUORWEIGHTS(i) |
---|
18 | ENDIF |
---|
19 | ENDDO |
---|
20 | * |
---|
21 | DO i = 1, 13 |
---|
22 | IF(WAVE(1).LE.FLUORWAVES(i).AND.FLUORWAVES(i).LE.WAVE(2)) THEN |
---|
23 | FLUORRELWEIGHTS(i) = FLUORWEIGHTS(i)/total_weight |
---|
24 | ENDIF |
---|
25 | ENDDO |
---|
26 | * |
---|
27 | UNIT(1) = 0. |
---|
28 | DO i = 2, 14 |
---|
29 | IF(WAVE(1).LE.FLUORWAVES(i).AND.FLUORWAVES(i).LE.WAVE(2)) THEN |
---|
30 | UNIT(i) = UNIT(i-1) + FLUORRELWEIGHTS(i-1) |
---|
31 | ENDIF |
---|
32 | ENDDO |
---|
33 | * |
---|
34 | rndm = esafrndm() |
---|
35 | DO i = 1, 14 |
---|
36 | IF(WAVE(1).LE.FLUORWAVES(i).AND.FLUORWAVES(i).LE.WAVE(2)) THEN |
---|
37 | IF(UNIT(i).LE.rndm.AND.rndm.LT.UNIT(i+1)) THEN |
---|
38 | randomwave = FLUORWAVES(i) |
---|
39 | ENDIF |
---|
40 | ENDIF |
---|
41 | ENDDO |
---|
42 | END |
---|
43 | |
---|
Note: See
TracBrowser
for help on using the repository browser.