COSMOS v7.655  COSMOSv7655
(AirShowerMC)
cibst1.f
Go to the documentation of this file.
1 #include "ZsaveStruc.h"
2 ! **************************************************************
3 ! *
4 ! * cibst1: boost a partilce into the moving system of another
5 ! * particle.
6 ! *
7 ! **************************************************************
8 !
9 ! /usage/ call cibst1(init, p1, p2, po)
10 !
11 ! Suppose two particles p1, p2.
12 ! p2 is given in the rest system of p1 which is given in a system
13 ! K.
14 ! This boosts particle 2 into the K system.
15 ! (x,y,z) axis are assumed to be parallel to that of the K.
16 ! If the z axis at the rest system of p1 is the direction of
17 ! p1, this must not be used. (Such case is muon decay where
18 ! polarization exits to the z-direction). use cibst1Pol
19 !
20 ! init: integer. Input. If p1 is the same as the previous call to this
21 ! subroutine, give a value other than 1. If p1 is different
22 ! from the previous call, use 1.
23 ! p1: type ptcl. Input. particle 1
24 ! p2: type ptcl. Input. particle 2
25 ! po: type ptcl. Output. particle seen at K
26 ! po may be the same one as p2
27 !
28  subroutine cibst1(init, p1, p2, po)
29  implicit none
30 !---- include '../Zptcl.h'
31 #include "Zptcl.h"
32  type(ptcl):: p1, p2, po
33  integer init
34 !
35  type(fmom):: g
36 #ifdef USESAVE
37  save g
38 #endif
39 !
40  if(init .eq. 1) then
41  call cgetlf(p1, g)
42  endif
43  po = p2
44 
45  call clorep(init, g, p2, po)
46 
47  end
48 #include "ZsaveStruc.h"
49 ! **************************************************************
50 ! *
51 ! * cibstPol: boost a partilce into the moving system of another
52 ! * particle.
53 ! *
54 ! **************************************************************
55 !
56 ! /usage/ call cibstPol(init, p1, p2, po)
57 !
58 ! Suppose two particles p1, p2.
59 ! p2 is given in the rest system of p1 which is given in a system
60 ! K.
61 ! This boosts particle 2 into the K system.
62 ! z axis at the rest system of p1 is assumed to be the direction
63 ! of p1 in K. This may be used for muon decay where polaization
64 ! exits.
65 !
66 ! init: integer. Input. If p1 is the same as the previous call to this
67 ! subroutine, give a value other than 1. If p1 is different
68 ! from the previous call, use 1.
69 ! p1: type ptcl. Input. particle 1
70 ! p2: type ptcl. Input. particle 2
71 ! po: type ptcl. Output. particle seen at K
72 ! po may be the same one as p2
73 !
74  subroutine cibstpol(init, p1, p2, po)
75  implicit none
76 !---- include '../Zptcl.h'
77 #include "Zptcl.h"
78  type(ptcl):: p1, p2, po
79  integer init
80 !
81  type(fmom):: g
82 #ifdef USESAVE
83  save g
84 #endif
85 !
86  if(init .eq. 1) then
87  call cgetlf(p1, g)
88  endif
89  po = p2
90  call cloreb(init, g, p2, po)
91  end
92 
93 
subroutine cloreb(i, gb, q, p)
Definition: cloreb.f:82
subroutine cibst1(init, p1, p2, po)
Definition: cibst1.f:29
Definition: Zptcl.h:72
subroutine cibstpol(init, p1, p2, po)
Definition: cibst1.f:75
subroutine cgetlf(p, gb)
Definition: cgetlf.f:2
subroutine clorep(j, gb, q, p)
Definition: clorep.f:88
Definition: Zptcl.h:75