forked from JeffersonLab/hallc_compton_geant3
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathugeom.F
More file actions
executable file
·100 lines (83 loc) · 2.11 KB
/
Copy pathugeom.F
File metadata and controls
executable file
·100 lines (83 loc) · 2.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
subroutine ugeom
c This routine initializes the geometry for the Compton simulation.
c
c DJG 20-Mar-2003
c - original code
c
c Richard Jones June 19, 2003
c - added rotation matrix for laser beam (not used at present)
implicit none
include 'user.inc'
include 'params.inc'
real thx,phx,thy,phy,thz,phz
C DJG Define rotation matrices
thx = 90.
phx = 0.
thy = 90.+dipole_bend/2.
phy = 270.
thz = 180.-dipole_bend/2.
phz = 90.
call gsrotm(1,thx,phx,thy,phy,thz,phz) ! dipole 1
thx = 90.
phx = 0.
thy = 90.-dipole_bend/2.
phy = 90.
thz = dipole_bend/2.
phz = 270.0
call gsrotm(2,thx,phx,thy,phy,thz,phz) ! dipole 2
thx = 90.
phx = 0.
thy = 90.+dipole_bend/2.
phy = 90.
thz = dipole_bend/2.
phz = 90.0
call gsrotm(3,thx,phx,thy,phy,thz,phz) ! dipole 3
thx = 90.
phx = 0.
thy = 90.-dipole_bend/2.
phy = 270.
thz = 180.-dipole_bend/2.
phz = 270.
call gsrotm(4,thx,phx,thy,phy,thz,phz) ! dipole 4
thx = 90.
phx = 0.
thy = 90.-dipole_bend
phy = 90.
thz = dipole_bend
phz = 270.0
call gsrotm(5,thx,phx,thy,phy,thz,phz) ! pipe d1-d2
thx = 90.
phx = 0.
thy = 90.+dipole_bend
phy = 90.
thz = dipole_bend
phz = 90.0
call gsrotm(6,thx,phx,thy,phy,thz,phz) ! pipe d3-d4
thx = 90.+laser_theta*180/Pi
phx = laser_phi*180/Pi
thy = 90.
phy = 90.+laser_phi*180/Pi
thz = laser_theta*180/Pi
phz = laser_phi*180/Pi
call gsrotm(7,thx,phx,thy,phy,thz,phz) ! laser beam
thx = 90. !+ detector_yroll
phx = 0. !- detector_zroll
thy = 90. + detector_rotation
phy = 90. !- detector_zroll
thz = detector_rotation
phz = 90. !+ detector_yroll
write(6,*) 'cheesy poofs', thx, phx, thy, phy, thz, phz
call gsrotm(8,thx,phx,thy,phy,thz,phz) ! Electron detector alignment with scattered electron
thx = 90.
phx = 0.
thy = 0.
phy = 90.
thz = 0.
phz = 0.
call gsrotm(9,thx,phx,thy,phy,thz,phz) ! Electron Detector Encasement
call define_CAVE('CAVE') ! define mother volume
call define_vacuum('CAVE') ! def vacuum can
call define_lattice('CAVE') ! define magnetic lattice
call define_detector('CAVE') ! def det, foil, and coll.
call ggclos ! Tell GEANT I'm done, and it can straighten things up
end