]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/fluka/altraf.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / fluka / altraf.F
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"
22 C
23 C--------------------------------------------------
24 C*** (S1 IN S2 / PARTICLE IN S1 / RESULT: PARTICLE IN S2)
25 C*** ARBITRARY LORENTZ TRANSFORM
26 C*** SI ARE THE DIFFERENT LORENTZ-SYSTEMS
27 C--------------------------------------------------
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