Ported MiniDAQ i960 code supports ttm's MiniDAQ-format output, implementing much, but not all, of MiniDAQ's functionality. (No functionality was deliberately removed, but the MiniDAQ 68K processors, not the i960's, handled table creation and output, and only the essential parts were replaced in ttm.) Not surprisingly, most of the parameters in the single-row ttm_par table derive from MiniDAQ's configuration parameters and have nearly identical names. They are summarized in the following table.
NOTE: The ttm_par parameter values are checked against allowed values and for consistency at the start of a run; illegal or inconsistent values are usually reset, accompanied by a warning message, whenever a plausible choice is possible.
struct ttm_pars { //Type Name Default ; Meaning //-------------------------------------------------------------------------------- char infile_name[200]; // Null; Path and name of input data file char infile_type[40]; // Null; Type of input data="DAQ" char outfile_name[200]; // Null; Path and name of .xdf output data file char outfile_type[40]; // Null; Type of output data="MINIDAQ" char tbltype_path[200]; // Null; Path to .idl table definitions for ttm long inbuf_size_req_kb; // 0; Min. size of input data buffer (KB) long sector_id; // 0; Requested sector (1,24; 0=first found with data) long rdo_id; // 0; Requested RDO location (1,6; 0=all on sector) long mz_id; // 0; Requested mezzanine card (1,3; 0=all for RDO) long run_type; // 0; Run type (2=Pedestal) long trigger_mode; // 0; Run mode (0=indefinite length; 2=fixed length) long n_trigs; // 64; Number of events for fixed-length run; // typically, 64 for pedestal and gain runs // (limited to prevent overflow in summing variables) long map_pads; // 1; No current effect (=1) long sub_peds; // 0; Subtract pedestals (0=no, 1=yes); untested in ttm long zero_suppress; // 0; Zero-suppress data (0=no, 1=yes); untested in ttm long bad_suppress; // 0; Suppress bad-channel data (0=no, 1=yes); untested in ttm long zp_thresh; // 3; Ped. sub. ADC thresh.; used in defining bad channels long min_zp_seq; // 2; Min. sequence length *above* threshold long max_zp_seq; // 255; Max. sequence length long max_zp_seq_mode; // 0; -1 = Reject entire sequence // 0 = Break into pieces of acceptable length // 1 = Reject low pixels // 2 = Reject high pixels long zp_presamples; // 1; Timebins prepended to above-threshold sequence long zp_postsamples; // 1; Timebins appended to above-threshold sequence long trunc_ped; // 0; ABS max diff. between existing ped table and new ped. measurement // within a time bin; 0=no cut applied. long min_ped; // 0; min. accepted pedestal datum long max_ped; // 1023; max. accepted pedestal datum long max_ped_noise; // 5; max. allowed ped RMS in a time bin long max_noisy_peds; // 5; max. allowed time bins with noisy pedestal in channel long ped_algorithm; // 0; Pedestal algorithm (0=only defined possibility) long gain_pulse_thresh; // 0; Threshold for the ground-wire pulse above pedestal, // applied AFTER averaging events; used for gain calibration long min_gain_bucket; // 70; Lower time bin for ground-wire pulse search window, 1-512 long max_gain_bucket; // 95; Upper time bin for ground-wire pulse search window, 1-512 long gain_presamples; // 1; Time bins to prepend to ground-wire pulse found long gain_postsamples; // 1; Time bins to append to ground-wire pulse found long gain_calib; // 0; gain=1024*(ADC-count sum in calib. pulse)/gain_calib; // (0=use average for channels on RDO, after excluding gains // in the lower or upper sixths of the distribution for RDO long min_frac_gain; // 50; Min. allowed channel gain; used in defining bad channels long max_frac_gain; // 150; Max. allowed channel gain; used in defining bad channels // 100%*[gain/(gain calib.)]*[(norm. pad area)/(pad area)] long gain_algorithm; // 0; Gain algorithm ID (0=only defined possibility) long incl_geom; // 0; No effect for tpm; 0 or 1, where 0=FALSE and 1=TRUE long incl_header; // 0; No effect for tpm; 0 or 1, where 0=FALSE and 1=TRUE long dump_8bit_trunc; // 1; Output TruncPeds 8-bit pedestal data; ADC>255 set to 255; // 0 or 1, where 0=FALSE and 1=TRUE long dump_8bit_trans; // 0; Output ByteData 8-bit data, via 10-to-8-bit translation; // 0 or 1, where 0=FALSE and 1=TRUE long dump_10bit; // 0; Output ShortData 16-bit data, limited to 0:1023 // ADC>ADC_OVERFLOW=1010 (current default) set to 1023; // 0 or 1, where 0=FALSE and 1=TRUE long dump_ped_means; // 0; Output PedsMeans table; values are mean pedestals *X8*; // 0 or 1, where 0=FALSE and 1=TRUE long dump_ped_shifts; // 0; Output PedsShifts table; untested in ttm; // 0 or 1, where 0=FALSE and 1=TRUE long dump_ped_widths; // 0; Output PedsWidths table; values are rms pedestals *X8*; // 0 or 1, where 0=FALSE and 1=TRUE long dump_ped_status; // 0; No effect for tpm; // 0 or 1, where 0=FALSE and 1=TRUE long dump_ped_errors; // 0; Output ped errors table; TOTAL bad time bins for chan.; // 0 or 1, where 0=FALSE and 1=TRUE long dump_gains; // 0; No effect for tpm; // 0 or 1, where 0=FALSE and 1=TRUE long dump_gain_errors; // 0; Not yet implemented; // 0 or 1, where 0=FALSE and 1=TRUE long dump_adc_map; // 0; No effect for tpm; // 0 or 1, where 0=FALSE and 1=TRUE long dump_gain_shifts; // 0; No effect for tpm; // 0 or 1, where 0=FALSE and 1=TRUE long dump_bad; // 0; No effect for tpm; // 0 or 1, where 0=FALSE and 1=TRUE long dump_geom_errors; // 0; Output the GeomErrors table; // 0 or 1, where 0=FALSE and 1=TRUE long update_peds; // 0; Update internal pedestal table; // 0 or 1, where 0=FALSE and 1=TRUE long update_gains; // 0; Update the internal gain table; untested for tpm; // 0 or 1, where 0=FALSE and 1=TRUE long update_bad; // 0; Update the internal bad-channel table; untested for tpm; // 0 or 1, where 0=FALSE and 1=TRUE long clear_bad; // 0; Set channels in sector marked "bad" back to "good"; // 0 or 1, where 0=FALSE and 1=TRUE };
Page maintenance:
Roy Bossingham, LBNL
RRBossingham@lbl.gov