mode internal ! usage mode = data structure definition. Must be 1st line. database mcfdat 0101 ! ! Definition of data structures used internal to MCFAST ! !******************** hit_trk ******************** incname new_trk_channel_struct ! include file for structure declaration template trk_channel int devtype !Type of device int devnum !Device # of this type (i.e., may be more than 1) int devlayer !Layer # (or plane #) in device int devwid(4) !Info within layer (wire, plane, strip, etc.) int channel !Address of electronic channel (computed from !above info) end template incname new_hit_trk_struct ! include file for structure declaration provide new_trk_channel_struct ! provide the channel declaration template hit_trk int hep !Position of track in /HEPEVT/ list int trace !Position of hit in trace list nest trk_channel chan !Device info (layer, wire, etc.) double pos(3) !Position of wire or center of plane double dircos(3) !Dir. cosines of wire or normal to plane double dircos2(3) !Dir. cosines of 2nd meas direction in pixels double dtime_exact !Drift time before smearing double dtime !Drift time after smearing (if applicable) double dtime_sigma !Error in drift time (if applicable) double dmeas_exact !Measured quantity before smearing double dmeas !Measured quantity after smearing double dmeas_sigma !Error in measured quantity double dpix_exact(2) !Pixel meas. before smearing double dpix(2) !Pixel quantities after smearing double dpix_cov(2,2) !Covariance matrix of pixel meas. end template incname new_hit_trk ! structure instantiations go to a separate include file provide new_hit_trk_struct ! provide the structure declaration dimension hit_trk_max 15000 ! define the dimension parameter record hit_trk(hit_trk_max) !******************* wtrack_struct ***************** incname new_wtrack_struct template wtrack ! Track parametrization in W form (4-mom + position) double px !Px double py !Py double pz !Pz double e !E double x !x double y !y double z !z double pt !Pt = sqrt(px**2 + py**2) double p !Momentum double q !Charge end template ! Constants to identify locations in W track covariance matrix ! 'index' assigns 1,2,3,4... (and on the C side 0,1,2,3,...) ! to the symbols. Token following 'index' ! is a prefix to attach to each subsequent symbol, eg ! 'index mu px py pz' defines mu_px=1, mu_py=2, mu_pz=3 ! If prefix = '-', the prefix (including '_') is suppressed index - jwpx jwpy jwpz jwe jwx jwy jwz !******************* trace_struct ******************* incname new_trace_struct provide new_wtrack_struct template trace int hep !Position of track in /HEPEVT/ list int type !Trace type (see trace_type.inc) int plane !Radial or z plane # int hit !# of hit in hit_track list (0 if none) nest wtrack w !Track parameters at intersection double eta(3) !Direction cosines of normal to plane double path !Total track length up to this hit double time !Time at which track made hit double tau !Proper flight time to intersection int material !Position in material list int dummy !pad to align structure double radl !# of radiation lengths of material double dedx !dE/dx of material end template !********************** trace ********************** incname new_trace provide new_trace_struct dimension trace_max 50000 record trace(trace_max) trace_par !******************** hep_trace ******************** incname new_hep_trace_struct template hep_trace int nhit int first_hit int ntrace int first_trace end template incname new_hep_trace provide new_hep_trace_struct dimension hep_trace_max 4000 ! define the dimension parameter record hep_trace(hep_trace_max) !******************* offline_track_struct ******************* incname new_offline_track_struct provide new_wtrack_struct template offline_track nest wtrack w !Track parameters double mass !Mass double cov(7,7) !Covariance matrix double chisq !Chisquare of fit - see note 1. int nhit !Number of hits in fit - see note 1. int nhit_sil !Number of silicon hits - see note 1. int nhit_stereo !Number of hits with stereo info int icov !covariance matrix defined int hep !Pos. of corresp. track in HEPEVT list int dummy !pad to align structure end template !********************** trace ********************** incname new_offline_track provide new_offline_track_struct dimension trk_off_max 50000 record offline_track(trk_off_max) trk_off !****************************Random number seeds *********************** incname ranseeds_struct template ranseeds int ranseed end template incname ranseeds provide ranseeds_struct dimension max_ranseed 2 record ranseeds(max_ranseed) end