]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 1 | FUNCTION PHINT1(IDUM) |
2 | C.---------------------------------------------------------------------- | |
3 | C. | |
4 | C. PHINT: PHotos INTerference (Old version kept for tests only. | |
5 | C. | |
6 | C. Purpose: Calculates interference between emission of photons from | |
7 | C. different possible chaged daughters stored in | |
8 | C. the HEP common /PHOEVT/. | |
9 | C. | |
10 | C. Input Parameter: commons /PHOEVT/ /PHOMOM/ /PHOPHS/ | |
11 | C. | |
12 | C. | |
13 | C. Output Parameters: | |
14 | C. | |
15 | C. | |
16 | C. Author(s): Z. Was, Created at: 10/08/93 | |
17 | C. Last Update: 15/03/99 | |
18 | C. | |
19 | C.---------------------------------------------------------------------- | |
20 | ||
21 | IMPLICIT NONE | |
22 | REAL*8 PHINT,phint1 | |
23 | REAL*8 PHOCHA | |
24 | INTEGER IDUM | |
25 | INTEGER NMXPHO | |
26 | PARAMETER (NMXPHO=10000) | |
27 | INTEGER IDPHO,ISTPHO,JDAPHO,JMOPHO,NEVPHO,NPHO | |
28 | REAL*8 PPHO,VPHO | |
29 | COMMON/PHOEVT/NEVPHO,NPHO,ISTPHO(NMXPHO),IDPHO(NMXPHO), | |
30 | &JMOPHO(2,NMXPHO),JDAPHO(2,NMXPHO),PPHO(5,NMXPHO),VPHO(4,NMXPHO) | |
31 | DOUBLE PRECISION MCHSQR,MNESQR | |
32 | REAL*8 PNEUTR | |
33 | COMMON/PHOMOM/MCHSQR,MNESQR,PNEUTR(5) | |
34 | DOUBLE PRECISION COSTHG,SINTHG | |
35 | REAL*8 XPHMAX,XPHOTO | |
36 | COMMON/PHOPHS/XPHMAX,XPHOTO,COSTHG,SINTHG | |
37 | REAL*8 MPASQR,XX,BETA | |
38 | LOGICAL IFINT | |
39 | INTEGER K,IDENT | |
40 | C | |
41 | DO K=JDAPHO(2,1),JDAPHO(1,1),-1 | |
42 | IF(IDPHO(K).NE.22) THEN | |
43 | IDENT=K | |
44 | GOTO 20 | |
45 | ENDIF | |
46 | ENDDO | |
47 | 20 CONTINUE | |
48 | C check if there is a photon | |
49 | IFINT= NPHO.GT.IDENT | |
50 | C check if it is two body + gammas reaction | |
51 | IFINT= IFINT.AND.(IDENT-JDAPHO(1,1)).EQ.1 | |
52 | C check if two body was particle antiparticle | |
53 | IFINT= IFINT.AND.IDPHO(JDAPHO(1,1)).EQ.-IDPHO(IDENT) | |
54 | C check if particles were charged | |
55 | IFINT= IFINT.AND.PHOCHA(IDPHO(IDENT)).NE.0 | |
56 | C calculates interference weight contribution | |
57 | IF(IFINT) THEN | |
58 | MPASQR = PPHO(5,1)**2 | |
59 | XX=4.D0*MCHSQR/MPASQR*(1.D0-XPHOTO)/(1.D0-XPHOTO+(MCHSQR-MNESQR) | |
60 | & /MPASQR)**2 | |
61 | BETA=SQRT(1.D0-XX) | |
62 | PHINT = 2D0/(1D0+COSTHG**2*BETA**2) | |
63 | ELSE | |
64 | PHINT = 1D0 | |
65 | ENDIF | |
66 | phint1=1 | |
67 | END |