COSMOS v7.655
COSMOSv7655
(AirShowerMC)
ctemplCeren.f
Go to the documentation of this file.
1
! ******************************************************************************
2
! The user routines here are used only when you give 161 ~ 199 to the Trace value
3
! so that you can manage the Cerenkov light output yourself.
4
! The main purpose is to enable you to convert each track information to Cerekov light
5
! on fly and output it with your desired format. This will save the output disk file
6
! volume as compared to writing the track infomation directly by the standard way.
7
!
8
! This file is saved as ctemplCeren.f
9
! Each user hook program is supplied with #include "ctemplCeren.f"
10
! (if not supplied, give it somewhere).
11
! If you really want to make this file usable, save it as chookCeren.f (or whatever
12
! you like), and change its content.
13
! Then, you have to change the incldue statement in the user hook program which
14
! really uses the chookCeren.f:
15
! #include "chookCeren.f"
16
! ******************************************************************************
17
!
18
subroutine
chookcerens
(no, primary, angle)
19
implicit none
20
! This is called when one event generation starts.
21
!
22
#include "Zmanagerp.h"
23
#include "Ztrack.h"
24
#include "Ztrackp.h"
25
#include "Ztrackv.h"
26
#include "Zcode.h"
27
#include "Zmass.h"
28
#include "Zprimary.h"
29
#include "Zprimaryv.h"
30
#include "Zheavyp.h"
31
#include "Zincidentv.h"
32
!
33
!
34
integer
no
! input. Event number.
35
type(
primaries
):: primary
! input. Primary particle info.
36
type(
coord
):: angle
! input. primary angle at the observation depth.
37
! ***************
38
integer
ka
! input. particle code
39
integer
chrg
! input. particle charge
40
real*8
e1
! input. particle energy
41
integer
itb
! input. time expressed in cemeter/beta at the segment top
42
integer
it
! input. track segment length in cm/beta
43
type(
coord
)::
f
! input. f.r(i), i=1,3 are the x,y,z component of the
44
! segment top. The coordinate system is by the Trace value
45
! you gave.
46
type(
coord
)::
t
! input. the same as above for the segment tail.
47
! ****************
48
!
49
! ---------------------------------------------------------------------------------------
50
! here you may put some flag info. as header of each event;
51
! The standard Cerenkov output routine writes the
52
! following:
53
!
54
! no ! event no
55
! primary.particle.code ! intger: partilce code
56
! primary.particle.fm.p(4) ! energy
57
! angle.r(1), angle.r(2), angle.r(3) ! direction cos of primary at the observation level.
58
!
59
!
60
return
61
! *****************
62
entry
chookceren
(ka, chrg, e1, itb, it,
f
,
t
)
63
! This is called whenever a charged particle is moved. Cerenkov threshold is
64
! considered.
65
! *****************
66
! The standard Cerekov routine writes the following:
67
!
68
! ka, chrg, sngl(e1), itb, it,
69
! * sngl(f.r(1)), sngl(f.r(2)), sngl(f.r(3)),
70
! * sngl(t.r(1)), sngl(t.r(2)), sngl(t.r(3))
71
!
72
return
73
!
74
! ******************
75
entry
chookcerene
(ka, chrg, e1, itb, it,
f
,
t
)
76
! This is called when one event has been generated.
77
! All values (ka etc) are 0.
78
! *******************
79
! The standard Cerekov routine writes the following:
80
!
81
! ka, chrg, sngl(e1), itb, it,
82
! * sngl(f.r(1)), sngl(f.r(2)), sngl(f.r(3)),
83
! * sngl(t.r(1)), sngl(t.r(2)), sngl(t.r(3))
84
!
85
end
chookceren
subroutine chookceren
Definition:
det2Exyz.f:63
chookcerene
subroutine chookcerene
Definition:
det2Exyz.f:67
chookcerens
subroutine chookcerens(no, primary, angle)
Definition:
ctemplCeren.f:19
t
nodes t
Definition:
cstdatmos0.fNew2.h:84
primaries
Definition:
Zprimary.h:64
coord
Definition:
Zcoord.h:43
f
dE dx *! Nuc Int sampling table f
Definition:
cblkMuInt.h:130
cosmos
ctemplCeren.f
Generated by
1.8.13