// ----------------------------------------- // Unless explicitly mentioned, do not change the values below! // ----------------------------------------- // it makes no sense to change most of these definitions, they just enumarate possible choices // Fitprogram modi asm TRACKLETS_3Q_MODE = 3; // normal tracklets mode, with 3 charge integration windows asm TRACKLETS_DIS_MODE = 2; // tracklets are disabled asm TRACKLETS_TPT_MODE = 1; // test pattern mode asm TRACKLETS_COS_MODE = 0; // cosmic mode // the values below can be changed, but any DYN_SHIFT+DYN_SIZE should be < 16 // and DYN_SHIFT0 < DYN_SHIFT1 < DYN_SHIFT2 < DYN_SHIFT3! // DYN_SHIFTx will be selected automatically so (the smallest possible), that for all 3 charges // Qcompressed = Q << DYN_SHIFTx is within 0..2**DYN_SIZE - 1 asm DYN_SHIFT0 = 2; asm DYN_SHIFT1 = 4; asm DYN_SHIFT2 = 6; asm DYN_SHIFT3 = 8; // better do not change DYN_SIZE! asm DYN_SIZE = 6; // now one of 128, 256, 1024 events in ZS mode for full readout asm ZS_FULL_N1 = (1 << 7) - 1; // 1 of 128 \ asm ZS_FULL_N2 = (1 << 8) - 1; // 1 of 256 - can be changed, but it must be power of 2! asm ZS_FULL_N3 = (1 << 10) - 1; // 1 of 1024 / // ZS modi: _NO for always ZS, _1, _2, _3 for full readout each 128, 256, 1024 event as defined above asm ZS_FULL_NO = 0; asm ZS_FULL_1 = 1; asm ZS_FULL_2 = 2; asm ZS_FULL_3 = 3; // possible additional parameters in ZS asm ZS_TRACKL_DIS_CONTR= 0; // bits 1..0 asm ZS_TRACKL_ENA_CONTR= 1; asm ZS_TRACKL_CND_CONTR= 2; // raw readout modi asm RAW_RDOUT_FULL = 0; // no zero suppression asm RAW_RDOUT_ZS = 1; // with zero suppression asm RAW_RDOUT_TP = 2; // test pattern mode // possible values of the RAW_SCSN flag asm RAW_SCSN_ALL = 2; // store ALL channels in DMEM for SCSN readout, even in ZS mode! Words as well in TP mode asm RAW_SCSN_ZS = 1; // story the same channels as sent over NI, possible only in ZS mode asm RAW_SCSN_DIS = 0; // don't store any ADC raw data in SCSN // used to rescale to 1023, as we will use 10-bits PSRG for tracklet TP asm TEST_PAT_MASK = 0x3FF; // Fit program parameters asm PAD_BITS = 8; // one pad in Y is represented as 8-bit number, this is fixed in hardware and can not be changed!!! asm NACHKOMMAST = 5; // additional bits when calculating position asm NACHKOMMAST_S = 2; // additional bits when calculating slope asm ROUNDING_ADD = 1 << (NACHKOMMAST-1); // was +1 asm PAD_EXT = NACHKOMMAST + PAD_BITS; // the pad size is 8 bits (256 steps) + the additional bits asm POS_BIT_SIZE = 11; asm POS_MAX_ABS = (1 << (POS_BIT_SIZE-1) ) - 1 ; // +1023 WITH_STAT = 0; // 0 - without accumulating RMS statistics, the default value WITH_FIT2DM = 0; // 0 - without storing the fit register in DMEM, the default value