]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/code/dboost.F
Added the magnetic field as a static member of the AliL3Transform class,
[u/mrichter/AliRoot.git] / ISAJET / code / dboost.F
1 #include "isajet/pilot.h"
2       SUBROUTINE DBOOST(ISIGN,F,P)
3 C
4 C          DOUBLE PRECISION BOOST OF 5-VECTOR P BY 5-VECTOR F WITH SIGN
5 C          OF ISIGN. EXACT COMPONENTS ARE 1,2,5 AND LARGER OF +,-
6 C
7       DIMENSION F(5),P(5)
8       DOUBLE PRECISION DF(5),DFPL,DFMN,DP(5),DPPL,DPMN,DBP,DSIGN
9 C          COPY TO DOUBLE PRECISION
10       DO 100 K=1,5
11       DF(K)=F(K)
12 100   DP(K)=P(K)
13       IF(ISIGN.GT.0) THEN
14         DSIGN=1.D0
15       ELSE
16         DSIGN=-1.D0
17       ENDIF
18 C          PUT ON DOUBLE PRECISION SHELL
19       CALL DBLVEC(P,DP)
20 C          BOOST
21       DBP=0.D0
22       DO 110 K=1,3
23 110   DBP=DBP+DF(K)*DP(K)
24       DBP=DBP/DF(5)
25       DO 120 K=1,3
26 120   DP(K)=DP(K)+DSIGN*DF(K)*DP(4)/DF(5)+DF(K)*DBP/(DF(4)+DF(5))
27       DP(4)=DF(4)*DP(4)/DF(5)+DSIGN*DBP
28 C          COPY BACK
29       DO 130 K=1,4
30 130   P(K)=DP(K)
31       RETURN
32       END