]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/packlib/kernlib/kerngen/tcgen/loren4.F
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / MINICERN / packlib / kernlib / kerngen / tcgen / loren4.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/02/15 17:49:49 mclareni
6* Kernlib
7*
8*
9#include "kerngen/pilot.h"
10 SUBROUTINE LOREN4 (DIR,P4IN,P4OUT)
11C
12C CERN PROGLIB# U101 LOREN4 .VERSION KERNFOR 4.07 830624
13C ORIG. 20/02/68
14C
15#if !defined(CERNLIB_B48M)
16 DOUBLE PRECISION PCM2, ONMCM, EPBETA, PROD
17#endif
18 DIMENSION DIR(4),P4IN(4),P4OUT(4)
19C
20C-- VN(A) MEANS N-VECTOR A
21C-- GAMMA=ECM/MCM
22C-- EPBETA=ECM*V3(PCM)*V3(BETA)
23C-- V3(BETA)=V3(PCM)/ECM
24C
25 PCM2=DIR(1)*DIR(1)+DIR(2)*DIR(2)+DIR(3)*DIR(3)
26#if defined(CERNLIB_B48M)
27 ONMCM=1.D0/ SQRT (DIR(4)*DIR(4)-PCM2)
28#endif
29#if !defined(CERNLIB_B48M)
30 ONMCM=1.D0/DSQRT (DIR(4)*DIR(4)-PCM2)
31#endif
32 EPBETA=P4IN(1)*DIR(1)+P4IN(2)*DIR(2)+P4IN(3)*DIR(3)
33 PROD=EPBETA*(DIR(4)*ONMCM-1.D0)/PCM2-P4IN(4)*ONMCM
34 P4OUT(4)=ONMCM*(P4IN(4)*DIR(4)-EPBETA)
35 DO 50 I=1,3
36 50 P4OUT(I)=P4IN(I)+DIR(I)*PROD
37 RETURN
38 END