GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LSE / V2-1-0 > lsew / rhel6-32


Interface   Data Structures   File List   Data Fields   Globals  

CDF_cal_def.h File Reference

Compress structures for the CAL contribution. More...

#include <LSE/CDF_cal_prd_model.h>
#include <LSE/LFR_refdef.h>
#include <EDS/ECR_cal.h>

Classes

struct  _CDF_calStatsAdr
 Statistics for the CAL addressing. More...
struct  _CDF_calStatsPha
 Statistics for the CAL PHA values. More...
struct  _CDF_calStats
 Statistics for the CAL. More...
struct  _CDF_calTablesAdr
 Compression tables for the CAL addressing. More...
struct  _CDF_calTablesPha
 Compression tables for the CAL PHA values. More...
struct  _CDF_calTables
 Compress tables for the CAL. More...
struct  _CDF_calSizesAdr
 The encoding sizes for the CAL addressing. More...
struct  _CDF_calSizesPha
 The encoding sizes for the CAL PHA values. More...
struct  _CDF_calSizes
 Sizes for the CAL. More...
struct  _CDF_calPhaLz
 Describes the two log end readings in a leading 0 (pseudo-floating) manner. More...
struct  _CDF_calPhaCtx
struct  _CDF_cal_std
 All the stuff about statistics used for doing CAL compresssion for standard physics data taking. More...
struct  _CDF_cal_ped_statistics
 Defines the statistics needed to encode the ADC values. These are the means, sigmas and normalizing counts. More...
struct  _CDF_cal_refs
 Structure containing all the file references. More...
struct  _CDF_cal_prd_log_end_table
 The table prediction constants for one log end. More...
struct  _CDF_cal_prd_log
 The prediction constants for one log. More...
union  _CDF_cal_prd_layer
 The range predictors for one range of one layer. More...
union  _CDF_cal_prd_tower
 Constants used when predicting one gain range from another, one tower's worth. More...
struct  _CDF_cal_prd
 Constants used when predicting one gain range from another. More...
struct  _CDF_cal_com
 Stuff common to both standard and non-zero suppressed data data-taking modes. More...
struct  _CDF_cal_ped
 Private structure holding the CAL context used to process and compress the events. More...
struct  _CDF_cal
 All the stuff about statistics used for doing CAL compresssion. More...

Defines

#define CDF_CAL_PED_N_MAX
 The maximum number of CAL compression histograms.
#define CDF_CAL_N_TWR   16
#define CDF_CAL_N_RNG   4
#define CDF_CAL_N_COL   12
#define CDF_CAL_N_LAY   8
#define CDF_CAL_N_END   2
#define CDF_CAL_P_END   1
#define CDF_CAL_M_END   0

Typedefs

typedef struct _HDE HDE
typedef struct _EBF_dir EBF_dir
typedef struct _CDF_calStatsAdr CDF_calStatsAdr
 Typedef for struct _CDF_calStatsAdr.
typedef struct _CDF_calStatsPha CDF_calStatsPha
 Typedef for struct _CDF_calStatsPha.
typedef struct _CDF_calStats CDF_calStats
 Typedef for struct _CDF_calStats.
typedef struct _CDF_calTablesAdr CDF_calTablesAdr
 Typedef for struct _CDF_calTablesAdr.
typedef struct _CDF_calTablesPha CDF_calTablesPha
 Typedef for struct _CDF_calTablesPha.
typedef struct _CDF_calTables CDF_calTables
 Typedef for struct _CDF_calTables.
typedef struct _CDF_calSizesAdr CDF_calSizesAdr
 Typedef for struct _CDF_calSizeAdr.
typedef struct _CDF_calSizesPha CDF_calSizesPha
 Typedef for struct _CDF_calSizePha.
typedef struct _CDF_calSizes CDF_calSizes
 Typedef for struct _CDF_calSizes.
typedef enum _CDF_calScheme CDF_calScheme
 Typedef for enum _CDF_calScheme.
typedef enum _CDF_calSchemeSize CDF_calSchemeSize
 Typedef for enum _CDF_calSchemeSize.
typedef struct _CDF_calPhaLz CDF_calPhaLz
 Typedef for struct _CDF_calPhaLz.
typedef struct _CDF_calPhaCtx CDF_calPhaCtx
 Typedef for struct _CDF_calPhaCtx.
typedef struct _CDF_cal_std CDF_cal_std
 Typedef for struct _CDF_cal_std.
typedef struct
_CDF_cal_ped_statistics 
CDF_cal_ped_statistics
 Typedef for struct _CDF_cal_ped_statistics.
typedef struct _CDF_cal_refs CDF_cal_refs
 Typedef for struct _CDF_cal_refs.
typedef struct
_CDF_cal_prd_log_end_table 
CDF_cal_prd_log_end_table
 Typedef for struct _CDF_cal_ped_log_end_table.
typedef struct _CDF_cal_prd_log CDF_cal_prd_log
 Typedef for struct _CDF_cal_ped_log_table.
typedef union _CDF_cal_prd_layer CDF_cal_prd_layer
 Typedef for union _CDF_cal_ped_prd_layer.
typedef union _CDF_cal_prd_tower CDF_cal_prd_tower
 Typedef for union _CDF_cal_ped_prd.
typedef struct _CDF_cal_prd CDF_cal_prd
 Typedef for struct _CDF_cal_prd.
typedef struct _CDF_cal_com CDF_cal_com
 Typedef for struct _CDF_cal_com.
typedef struct _CDF_cal_ped CDF_cal_ped
 Typedef for CDF_cal_ped.
typedef struct _CDF_cal CDF_cal
 Typedef for struct _CDF_cal.

Enumerations

enum  _CDF_calScheme {
  CDF_CAL_SCHEME_K_ADDRESS_LIST = 0,
  CDF_CAL_SCHEME_K_QUAD_TREE_POSITIVE = 2,
  CDF_CAL_SCHEME_K_QUAD_TREE_NEGATIVE = 3
}
 Enumerates the different tower level address packing schemes. More...
enum  _CDF_calSchemeSize {
  CDF_CAL_SCHEME_S_ADDRESS_LIST = 1,
  CDF_CAL_SCHEME_S_QUAD_TREE = 2,
  CDF_CAL_SCHEME_S_QUAD_TREE_POSITIVE = 2,
  CDF_CAL_SCHEME_S_QUAD_TREE_NEGATIVE = 2
}
 Enumerates the different tower level address packing schemes sizes, in bits. More...

Functions

unsigned int CDF_cal_copy (CDF_cal *cdf, unsigned int *buf, unsigned int pos, const EBF_dir *dir)
 Makes a straight copy of the CAL data. This is usually only used when the data is not in a form that the sophisticated compression routines expect.


Detailed Description

Compress structures for the CAL contribution.

Author:
JJRussell - russell@slac.stanford.edu
    CVS $Id: CDF_cal_def.h,v 1.4 2011/03/26 17:35:23 russell Exp $


Define Documentation

#define CDF_CAL_PED_N_MAX

The maximum number of CAL compression histograms.

Currently there are two methods of sorting the channel by channel deviations from the mean. The first is by the range. The idea here is that the width of the distribution is highly correlated with the range.

The other method makes no assumptions and calculates the width of the distribution for each channel. The channels are then grouped by like widths.

The second method is likely more stable, but the width calculation is more expensive (nominally on the SUN by a factor of 3-4) and is a non-neglegible contribution to the total time.


Typedef Documentation

Typedef for struct _CDF_calPhaLz.

The largest/smallest of +/- the logs is computed. The difference between the largest and smallest (always a postive number is then calculate. This difference and the largest ADC value are then encoded as a number of leading zeroes (the exponent) and the rest (the mantissa

Typedef for enum _CDF_calScheme.

The hit addresses for each tower can be compressed according to one of three packing schemes. The selection of which scheme is determine by the compress routine based on minimal size. The decompressor only needs to know which scheme was employed, having no need to know why it was chosen.
These three schems are
  1. List of addresses
  2. Quad tree representation of the postive image
  3. Quad tree representation of the negative image
Roughly speaking
  1. Address list works best on sparsely populated towers (< 8 hits)
  2. Positive quad tree works best on higher populated towers (roughly 8 - 38 hits)
  3. Negative quad tree works bess on very highly populated towers ( > 38 hits)

Typedef for enum _CDF_calSchemeSize.

See also:
CDF_calScheme
This enumerates the number of bits it takes to specify a particular packing scheme.


Enumeration Type Documentation

Enumerates the different tower level address packing schemes.

Enumerator:
CDF_CAL_SCHEME_K_ADDRESS_LIST  By address list
CDF_CAL_SCHEME_K_QUAD_TREE_POSITIVE  By positive quad tree
CDF_CAL_SCHEME_K_QUAD_TREE_NEGATIVE  By negative quad tree

Enumerates the different tower level address packing schemes sizes, in bits.

Enumerator:
CDF_CAL_SCHEME_S_ADDRESS_LIST  Takes 1 bit, binary 0
CDF_CAL_SCHEME_S_QUAD_TREE  Quad tree takes 2 bits either 10 or 11
CDF_CAL_SCHEME_S_QUAD_TREE_POSITIVE  Takes 2 bits, binary 10
CDF_CAL_SCHEME_S_QUAD_TREE_NEGATIVE  Takes 2 bits, binary 11


Function Documentation

unsigned int CDF_cal_copy ( CDF_cal cdf,
unsigned int *  buf,
unsigned int  pos,
const EBF_dir *  dir 
)

Makes a straight copy of the CAL data. This is usually only used when the data is not in a form that the sophisticated compression routines expect.

Returns:
The updated write bit position
Parameters:
cdf The CAL compression data formatting handle
buf The output buffer
pos The position of the next bit to fill
dir The directory describing the event to be formatted

Referenced by cdf_cal_ped_copy(), and CDF_cal_std_compress().


Generated on Thu Aug 4 13:00:08 2011 by  doxygen 1.5.8