]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/fluka/altraf.F
First commit
[u/mrichter/AliRoot.git] / GEANT321 / fluka / altraf.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:19:59 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani
11*-- Author :
12*$ CREATE ALTRAF.FOR
13*COPY ALTRAF
14*
15*=== altraf ===========================================================*
16*
17 SUBROUTINE ALTRAF(GA,BGA,CX,CY,CZ,COD,COF,SIF,PC,EC,P,PX,PY,PZ,E)
18
19#include "geant321/dblprc.inc"
20#include "geant321/dimpar.inc"
21#include "geant321/iounit.inc"
22C
23C--------------------------------------------------
24C*** (S1 IN S2 / PARTICLE IN S1 / RESULT: PARTICLE IN S2)
25C*** ARBITRARY LORENTZ TRANSFORM
26C*** SI ARE THE DIFFERENT LORENTZ-SYSTEMS
27C--------------------------------------------------
28 BGX = BGA * CX
29 BGY = BGA * CY
30 BGZ = BGA * CZ
31 COD2 = COD * COD
32 IF (COD2 .GT. 1.D0) COD2 = 1.D0
33 SID = SQRT(1.D0 - COD2) * PC
34 PCX = SID * COF
35 PCY = SID * SIF
36 PCZ = COD * PC
37 EP = PCX * BGX + PCY * BGY + PCZ * BGZ
38 E = GA * EC + EP
39 PE = EP / (GA + 1.D0) + EC
40 PX = PCX + BGX * PE
41 PY = PCY + BGY * PE
42 PZ = PCZ + BGZ * PE
43 P = SQRT (PX * PX + PY * PY + PZ * PZ)
44 PM = 1.D0 / P
45 PX = PX * PM
46 PY = PY * PM
47 PZ = PZ * PM
48 RETURN
49 END