]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/ghrout/ghepec.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / ghrout / ghepec.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:21:13 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/02 29/03/94 15.41.40 by S.Giani
11*-- Author :
12 SUBROUTINE GHEPEC(LEDPAR)
13C**
14C** MOMENTUM CONSERVATION AT HIGH ENERGIES
15C**
16#include "geant321/mxgkgh.inc"
17#include "geant321/s_prntfl.inc"
18#include "geant321/s_blank.inc"
19C
20#if !defined(CERNLIB_SINGLE)
21 DOUBLE PRECISION AHMF,BHMF
22#endif
23C**
24 IF(LEDPAR.LE.0) RETURN
25C**
26 MX=MXGKPV-10
27 MX5=MX+5
28 MX6=MX+6
29 MX7=MX+7
30 MX9=MX+9
31C**
32C** APPLY CORRECTION ON LEADING PARTICLE
33C**
34 IF(NPRT(4))
35 $ WRITE(NEWBCD,1002) LEDPAR,(PV(J,LEDPAR),J=1,10)
36C**
37 CALL SUB3(MX9,MXGKPV,MX5)
38 CALL ANG(MXGKPV,LEDPAR,COST,TETA)
39 CALL LENGTX(LEDPAR,PPP)
40 PTLED=PPP*SQRT(1.-COST**2)
41 CALL SUB3(LEDPAR,MX5,LEDPAR)
42 CALL ANG(MXGKPV,LEDPAR,COST,TETA)
43 CALL LENGTX(LEDPAR,PPP)
44 PPP=PPP*COST
45 CALL LENGTX(MXGKPV,PBEAM)
46 PV(1,MX6)=PV(1,MXGKPV)*PPP/PBEAM
47 PV(2,MX6)=PV(2,MXGKPV)*PPP/PBEAM
48 PV(3,MX6)=PV(3,MXGKPV)*PPP/PBEAM
49 CALL CROSS3(MXGKPV,LEDPAR,MX7)
50 CALL CROSS3(MX7,MXGKPV,MX7)
51 CALL LENGTX(MX7,PPP)
52 PV(1,MX7)=PV(1,MX7)*PTLED/PPP
53 PV(2,MX7)=PV(2,MX7)*PTLED/PPP
54 PV(3,MX7)=PV(3,MX7)*PTLED/PPP
55 CALL ADD3(MX6,MX7,LEDPAR)
56 CALL LENGTX(LEDPAR,PPP)
57 AHMF=PPP
58 BHMF=PV(5,LEDPAR)
59 PV(4,LEDPAR)=DSQRT(AHMF**2+BHMF**2)
60C**
61 IF(NPRT(4)) THEN
62 WRITE(NEWBCD,1003) LEDPAR,(PV(J,LEDPAR),J=1,10)
63 ENDIF
64C**
65 RETURN
66 1002 FORMAT(1H ,'LEADING PARTICLE ',I3,2X,10F8.3)
67 1003 FORMAT(1H ,'CORRECTED 4-VECT ',I3,2X,10F8.3)
68
69 END