1 saw 1.9 ******************* begin: gen_filenames.cmn ***********************
2 *
3 * Common block to hold the raw scaler information and
4 * quantities calculated from the scaler events (time, current, etc...)
|
5 cdaq 1.1 *
|
6 cdaq 1.2 * $Log: gen_scalers.cmn,v $
|
7 jones 1.13 * Revision 1.12 2003/09/05 20:29:03 jones
8 * Merge in online03 changes (mkj)
9 *
|
10 jones 1.12 * Revision 1.11.2.2 2003/09/05 14:12:17 jones
11 * Updates for using syncfilter (mkj)
12 *
13 * Revision 1.11.2.1 2003/08/14 00:44:13 cdaq
14 * Modify to be able to write scaler rates for each read to a file (mkj)
15 *
16 * Revision 1.11 1999/02/23 19:07:06 csa
17 * (JRA) Add WEIRD_CLEARS common
18 *
|
19 csa 1.11 * Revision 1.10 1999/02/10 17:40:52 csa
20 * Added beam-on variables (D. McKee)
21 *
|
22 csa 1.10 * Revision 1.9 1996/09/04 15:46:56 saw
23 * (JRA) Add g_scaler_event_num
24 *
|
25 saw 1.9 * Revision 1.8 1996/04/30 14:05:12 saw
26 * (JRA) Add some bcm stuff
27 *
|
28 saw 1.8 * Revision 1.7 1996/01/17 15:47:29 cdaq
29 * (JRA) Add current monitor variables, time variable, and delta_scalers
30 *
|
31 cdaq 1.7 * Revision 1.6 1995/09/01 13:02:09 cdaq
32 * (JRA) Add time into run variable
33 *
|
34 cdaq 1.6 * Revision 1.5 1995/05/11 15:13:43 cdaq
35 * (SAW) Change scalers and evscalers to be real*8
36 *
|
37 cdaq 1.5 * Revision 1.4 1995/04/06 20:16:52 cdaq
38 * (SAW) Make scalers real
39 *
|
40 cdaq 1.4 * Revision 1.3 1994/12/18 04:04:53 cdaq
41 * (SAW) Add array and common for event by event scalers
42 *
|
43 cdaq 1.3 * Revision 1.2 1994/08/03 20:13:12 cdaq
44 * (SAW) Add "CTPTYPE=parm" directive for auto generation of CTP reg calls
45 *
|
46 cdaq 1.2 * Revision 1.1 1994/06/21 16:36:57 cdaq
47 * Initial revision
48 *
49 * CTPTYPE=parm
|
50 cdaq 1.1 *
51 integer*4 MAX_NUM_SCALERS
52 parameter (MAX_NUM_SCALERS=500)
|
53 cdaq 1.3 integer*4 MAX_NUM_EVSCALERS
54 parameter (MAX_NUM_EVSCALERS=16)
|
55 jones 1.12 integer*4 MAX_WRITEOUT_SCALERS
56 parameter (MAX_WRITEOUT_SCALERS=10)
57 integer*4 INDEX_WRITEOUT_SCALERS(10)
58 integer*4 NUM_WRITEOUT_SCALERS
|
59 cdaq 1.6
|
60 saw 1.8 integer*4 gclock_index !index of hardware scaler clock.
61 real*4 gclock_rate ! rate of hardware scaler clock.
|
62 cdaq 1.6 *
63 * CTPTYPE=event
|
64 cdaq 1.1 *
|
65 saw 1.8 integer gscaler_nroll(MAX_NUM_SCALERS)
66 real*8 gscaler(MAX_NUM_SCALERS) ! Current scaler values
67 real*8 gscaler_old(MAX_NUM_SCALERS) ! Scaler values at last event
68 real*8 gscaler_change(MAX_NUM_SCALERS) ! prev_scalers - scalers
|
69 jones 1.12 real*8 gscaler_skipped(MAX_NUM_SCALERS) ! prev_scalers - scalers
70 real*8 gscaler_saved(MAX_NUM_SCALERS) ! prev_scalers - scalers
|
71 saw 1.8 real*4 g_run_time !time of run at most recent scaler event
|
72 jones 1.12 real*4 g_beam_on_run_time(2) ! accumulated time of run for which
|
73 csa 1.10 ! beam current exceeded beam_on_thresh_cur.
|
74 jones 1.12 real*8 ave_current_bcm(3)
|
75 saw 1.8 integer g_replay_time !time since start of run (from cpu clock)
|
76 jones 1.12 logical syncfilter_on
77 integer insync
|
78 cdaq 1.1 *
|
79 saw 1.8 common /SCALERS/ gscaler, gscaler_old, gscaler_change,
|
80 jones 1.12 $ ave_current_bcm,gscaler_skipped,gscaler_saved,
|
81 csa 1.11 $ gclock_rate, g_run_time, gclock_index, g_replay_time,
|
82 jones 1.12 $ gscaler_nroll, g_beam_on_run_time,syncfilter_on,insync
|
83 csa 1.11
84 c For Gen it is noticed that some scaler channels are randomly clearing
85 c themselves. The following is to
86
87 real*8 gscalweird_lostcounts(MAX_NUM_SCALERS)
88 integer*4 gscalweird_nclears(MAX_NUM_SCALERS)
89 integer*4 gscalweird_lastval(MAX_NUM_SCALERS)
90 * CTPTYPE=parm
91 integer*4 gscalweirdcorrect_flag
92 * CTPTYPE=event
93
94 common /WEIRD_CLEARS/ gscalweird_lostcounts,
95 $ gscalweird_nclears,gscalweird_lastval,gscalweirdcorrect_flag
|
96 cdaq 1.7
|
97 cdaq 1.1 *
|
98 saw 1.8 integer*4 gscal_lastevnum(2) ! check for missing/out of order of scaler events
99 integer*4 gscal_evnum_roll(2)
|
100 cdaq 1.5 real*8 evscalers(MAX_NUM_EVSCALERS)
|
101 cdaq 1.3 *
|
102 saw 1.8 common /EVSCALERS/ evscalers, gscal_lastevnum, gscal_evnum_roll
|
103 cdaq 1.7 *
104 * CTPTYPE=parm
105 *
|
106 saw 1.8 integer*4 gbcm1_index
107 integer*4 gbcm2_index
108 integer*4 gbcm3_index
109 integer*4 gunser_index
|
110 jones 1.12 integer*4 bcm_for_threshold_cut
|
111 saw 1.8 real*8 gbcm1_gain
112 real*8 gbcm2_gain
113 real*8 gbcm3_gain
114 real*8 gunser_gain
115 real*8 gbcm1_offset
116 real*8 gbcm2_offset
117 real*8 gbcm3_offset
118 real*8 gunser_offset
|
119 jones 1.12 real*8 g_beam_on_thresh_cur(2) ! threshold for beam to be on.
|
120 cdaq 1.7 *
121 * CTPTYPE=event
122 *
|
123 saw 1.8 real*8 gbcm1_charge
124 real*8 gbcm2_charge
125 real*8 gbcm3_charge
126 real*8 gunser_charge
|
127 jones 1.12 real*8 g_beam_on_bcm_charge(2) ! "beam on" accumulated charge
|
128 csa 1.10 integer*4 gscaler_event_num
|
129 jones 1.13 logical skip_events
130
|
131 cdaq 1.7 *
132 common/BEAMCURRENT/
|
133 saw 1.8 & gbcm1_gain, gbcm2_gain, gbcm3_gain, gunser_gain,
134 & gbcm1_offset, gbcm2_offset, gbcm3_offset, gunser_offset,
|
135 saw 1.9 & gbcm1_charge, gbcm2_charge, gbcm3_charge, gunser_charge,
|
136 csa 1.10 & g_beam_on_bcm_charge, g_beam_on_thresh_cur,
|
137 jones 1.12 & gbcm1_index, gbcm2_index, gbcm3_index, gunser_index,bcm_for_threshold_cut,
|
138 jones 1.13 & gscaler_event_num,skip_events
|
139 jones 1.12 common/ WRITESCALERS/
140 & NUM_WRITEOUT_SCALERS,INDEX_WRITEOUT_SCALERS
|