]>
Commit | Line | Data |
---|---|---|
e74335a4 | 1 | * $Id$ |
2 | C | |
3 | C | |
4 | C | |
5 | C | |
6 | SUBROUTINE HIBOOST | |
7 | IMPLICIT DOUBLE PRECISION(D) | |
bc676b8e | 8 | #define BLANKET_SAVE |
e74335a4 | 9 | #include "lujets_hijing.inc" |
10 | #include "ludat1_hijing.inc" | |
11 | #include "hiparnt.inc" | |
12 | SAVE | |
13 | DO 100 I=1,N | |
14 | DBETA=P(I,3)/P(I,4) | |
15 | IF(ABS(DBETA).GE.1.D0) THEN | |
16 | DB=HINT1(2) | |
17 | IF(DB.GT.0.99999999D0) THEN | |
18 | C ********Rescale boost vector if too close to unity. | |
19 | WRITE(6,*) '(HIBOOT:) boost vector too large' | |
20 | DB=0.99999999D0 | |
21 | ENDIF | |
22 | DGA=1D0/SQRT(1D0-DB**2) | |
23 | DP3=P(I,3) | |
24 | DP4=P(I,4) | |
25 | P(I,3)=(DP3+DB*DP4)*DGA | |
26 | P(I,4)=(DP4+DB*DP3)*DGA | |
27 | GO TO 100 | |
28 | ENDIF | |
29 | Y=0.5*DLOG((1.D0+DBETA)/(1.D0-DBETA)) | |
30 | AMT=SQRT(P(I,1)**2+P(I,2)**2+P(I,5)**2) | |
31 | P(I,3)=AMT*SINH(Y+HINT1(3)) | |
32 | P(I,4)=AMT*COSH(Y+HINT1(3)) | |
33 | 100 CONTINUE | |
34 | RETURN | |
35 | END |