]>
Commit | Line | Data |
---|---|---|
0795afa3 | 1 | #include "isajet/pilot.h" |
2 | FUNCTION CHARGE(ID) | |
3 | C | |
4 | C COMPUTE CHARGE OF PARTICLE WITH IDENT CODE ID | |
5 | C ICHRG MUST BE DIMENSIONED NQLEP+13 | |
6 | C | |
7 | #include "isajet/itapes.inc" | |
8 | DIMENSION ICHRG(75),IFL(3) | |
9 | C 3 * charge | |
10 | DATA ICHRG/0 | |
11 | $,2,-1,-1,2,-1,2,-1,2,0,0, 0,-3,0,-3,0,-3,0,-3,0,0,0 | |
12 | $,2,-1,-1,2,-1,2,-1,2,0,0, 0,-3,0,-3,0,-3,0,-3,3,0 | |
13 | $,2,-1,-1,2,-1,2,-1,2,3,0, 0,-3,0,-3,0,-3,0,-3,3,0 | |
14 | $,3,0,0,0,0,0,3,3,6,6,0,0,0/ | |
15 | C | |
16 | IDABS=IABS(ID) | |
17 | CALL FLAVOR(ID,IFL(1),IFL(2),IFL(3),JSPIN,INDEX) | |
18 | IF(IDABS.LT.100) GO TO 200 | |
19 | C | |
20 | ISUM=0 | |
21 | DO 100 I=1,3 | |
22 | ISUM=ISUM+ICHRG(IABS(IFL(I))+1)*ISIGN(1,IFL(I)) | |
23 | 100 CONTINUE | |
24 | CHARGE=ISUM/3. | |
25 | RETURN | |
26 | C | |
27 | 200 CHARGE=ICHRG(INDEX+1)*ISIGN(1,ID) | |
28 | CHARGE=CHARGE/3. | |
29 | RETURN | |
30 | END |