(file) Return to structures.inc CVS log (file) (dir) Up to [HallC] / Poltar

  1 jones 1.1 ! STRUCTURES.INC 
  2           !   (note that all initializations of fields have been moved
  3           !    into the file "structures_init.inc")
  4           
  5           ! Define some BASIC record structures and associated parameters
  6           
  7           ! ... generic cut -->  initialized with MAX large and MIN small
  8           	structure /cuts/ 
  9           		real*8		min, max
 10           	end structure
 11           
 12           ! ... generic range (rather than a cut) --> initialized with HI small and LO large
 13           	structure /range/
 14           		real*8		lo, hi
 15           	end structure
 16           
 17           ! ... generic Cartesian vector
 18           	integer*4 nCartesianfields
 19           	parameter (nCartesianfields = 3)
 20           	structure /Cartesian/
 21           		real*8		x,y,z
 22 jones 1.1 	end structure
 23           
 24           ! ... minimal description of scattered particles, or cuts/ranges on these qties
 25           	structure /double_arm/
 26           		structure /arm/ e
 27           		  real*8		delta, yptar, xptar, z
 28           		end structure
 29           		structure /arm2/ p
 30           		  real*8		delta, yptar, xptar, z
 31           		end structure
 32           	end structure
 33           	structure /double_arm_cuts/
 34           		structure /arm_cuts/ e
 35           		  record /cuts/	delta, yptar, xptar, z
 36           		end structure
 37           		structure /arm_cuts2/ p
 38           		  record /cuts/	delta, yptar, xptar, z
 39           		end structure
 40           	end structure
 41           	structure /double_arm_range/
 42           		structure /arm_range/ e
 43 jones 1.1 		  record /range/	delta, yptar, xptar, z
 44           		end structure
 45           		structure /arm_range2/ p
 46           		  record /range/	delta, yptar, xptar, z
 47           		end structure
 48           	end structure
 49           
 50           ! ... generic focal plane vectors (transport convention, in both spectrometers)
 51           	structure /double_arm_FP/
 52           		structure /arm_FP/ e
 53           		  real*8		x, dx, y, dy, path
 54           		end structure
 55           		structure /arm_FP2/ p
 56           		  real*8		x, dx, y, dy, path
 57           		end structure
 58           	end structure
 59           
 60           ! ... full description of a given particle
 61           	integer*4 narm_fullfields
 62           	parameter (narm_fullfields = 8)
 63           	structure /arm_full/
 64 jones 1.1 		real*8	delta,xptar,yptar,z
 65           		real*8	theta,phi,E,P
 66           	end structure
 67           
 68           	structure /cuts_true/
 69           		record /cuts/	Em, Pm
 70           	end structure
 71           
 72           ! EVENT structures
 73           
 74           ! ... description of event -- both actual and reconstructed (measured) versions calculated
 75           
 76           ! NEVENTFIELDS is used to copy from one /event/ record into another.
 77           ! IF YOU MODIFY THIS STRUCTURE, YOU MUST MAKE SURETHAT NEVENTFIELDS
 78           ! IS UPDATED ACCORDINGLY, OR BAD THINGS CAN HAPPEN.
 79           
 80           	integer*4 neventfields
 81           	parameter (neventfields = 23 + 2*narm_fullfields + 3*nCartesianfields)
 82           	structure /event/
 83           		union
 84           		  map
 85 jones 1.1 			real*8	Ein
 86           			real*8	Em, Pm
 87           			real*8	Emiss, Pmiss
 88           			real*8	Pmx, Pmy, Pmz
 89           			real*8	PmPar, PmPer, PmOop
 90           			real*8	omega, q, Q2, Trec, W, Mrec
 91           			real*8  x,z,wpr2,pt,theta_p ! mkj new
 92           			real*8	epsilon, theta_pq, theta_tarq, phi_pq, phi_targ
 93                                   real*8  beta
 94           			record /arm_full/ e, p
 95           			record /Cartesian/ ue, up, uq
 96           		  end map
 97           		  map
 98           			real*8		all(neventfields)
 99           		  end map
100           		end union
101           	end structure
102           
103           ! ... target-specific event quantities
104           	structure /event_target/
105           		real*8	x, y, z, rastery, rasterx
106 jones 1.1 		real*8	teff(3), Eloss(3), Coulomb
107           	end structure
108           
109           ! ... quantities that are determined only once per event
110           	structure /event_main/
111           		real*8 weight, SF_weight, gen_weight, jacobian
112           		real*8 Ein_shift, Ee_shift
113           		real*8 sigcc, sigcc_recon
114           		real*8 epsilon,theta_pq,theta_tarq,phi_pq,phi_targ,beta
115           		real*8 t,pcm,thetacm,phicm,w,q2
116           		real*8 davejac,johnjac
117           		record /event_target/ target
118           		record /double_arm/ SP, RECON
119           		record /double_arm_FP/ FP
120           ! ........ temporary ???
121           		real*8 Trec
122           		logical accept
123           	end structure
124           
125           ! ... a gross structure that serves merely to catch all interesting qties for a 'central' event
126           	structure /event_central/
127 jones 1.1 		real*8		sigcc, omega, q, Q2
128           		real*8		Em, Pm
129           		structure /event_central_rad/ rad
130           		  real*8 hardcorfac, etatzai, frac(3), lambda(3), bt(2)
131           		  real*8 c_int(0:3), c_ext(0:3), c(0:3), g_int, g_ext, g(0:3)
132           		end structure
133           	end structure
134           
135           ! OTHER stuff
136           
137           ! ... spectrometer settings and specifications
138           	structure /both_spec/
139           		structure /spectrometer/ e
140           		  real*8	P,theta,cos_th,sin_th,phi
141           		  structure /spec_offset/ offset
142           		    real*8	x,y,z,xptar,yptar
143           		  end structure
144           		end structure
145           		structure /spectrometer2/ p
146           		  real*8	P,theta,cos_th,sin_th,phi
147           		  structure /spec_offset2/ offset
148 jones 1.1 		    real*8	x,y,z,xptar,yptar
149           		  end structure
150           		end structure
151           	end structure
152           
153           ! ... acceptance edges for TRUE and VERTEX quantities, both BEFORE reconstruction
154           	structure /edge_true/
155           		structure /edge_arm/ e
156           		  record /cuts/		E, yptar, xptar
157           		end structure
158           		structure /edge_arm2/ p
159           		  record /cuts/		E, yptar, xptar
160           		end structure
161           		record /cuts/		Em, Pm, Trec, Trec_struck
162           	end structure
163           
164           ! ... pieces of the EXP dbase field that we'll need
165           	structure /EXP_field/
166           		real*8	charge
167           	end structure
168           
169 jones 1.1 ! ... generic description of a histogram axis
170           	structure /axis/
171           		real*8		min,max,bin
172           		integer		n
173           	end structure
174           
175           ! ... ranges for the quantities that are generated randomly for each event / edges on quantities at the GENERATE stage
176           	structure /gen_limits/
177           		structure /arm_limits/ e
178           		  record /cuts/	delta, yptar, xptar, E
179           		end structure
180           		structure /arm_limits2/ p
181           		  record /cuts/	delta, yptar, xptar, E
182           		end structure
183           		record /cuts/	sumEgen, Trec
184           		real*8		xwid, ywid
185           	end structure
186           
187           ! ... ranges of event qties which actually contributed
188           	structure /contrib/
189           		structure /contrib_gen/ gen
190 jones 1.1 		  record /arm_range/ e, p
191           		  record /range/ Trec, sumEgen
192           		end structure
193           		structure /contrib_true/ tru
194           		  structure /contrib_arm/ e
195           		    record /range/ E, yptar, xptar
196           		  end structure
197           		  structure /contrib_arm2/ p
198           		    record /range/ E, yptar, xptar
199           		  end structure
200           		  record /range/ Em, Pm, Trec
201           		end structure
202           		record /double_arm_range/ SP
203           		structure /contrib_vertex/ vertex
204           		  record /range/ Trec, Em, Pm
205           		end structure
206           		structure /contrib_rad/	rad
207           		  record /range/ Egamma(3), Egamma_total
208           		end structure
209           	end structure
210           
211 jones 1.1 ! ... values, and ranges of values which actually contributed, for useful slops (some are local to limits_init)
212           	structure /slop_item/
213           		real*8		lo, hi, used
214           	end structure
215           	structure /slop/
216           		structure /slop_total/ total
217           		  record /slop_item/	Em, Pm
218           		end structure
219           		structure /slop_MC/ MC
220           		  structure /slop_MC_arm/ e
221           		    record /slop_item/ delta, yptar, xptar
222           		  end structure
223           		  structure /slop_MC_arm2/ p
224           		    record /slop_item/ delta, yptar, xptar
225           		  end structure
226           		end structure
227           	end structure

Analyzer/Replay: Mark Jones, Documents: Stephen Wood
Powered by
ViewCVS 0.9.2-cvsgraph-1.4.0