fdhwlib
2.0.25
|
#include <Flt.h>
The class Flt provides the definition for the registers of the first level trigger board (FLT).
The names of the registers are choosen as found in the hardware description.
For a systematic access to all registers without knowledge of the specific register structure the array theRegister is introduced. The array contains a list of all available registers.
Changes:
Test and improve the check of the versions!!!
The macros to select all FLT channel and/or boards have to be redefined!
Replace numerical values in the code by local preprocessor variables!
Check shift operations on integer type variables!
Rename FltMean!!!
Flt::Flt | ( | int | ID | ) |
virtual Flt::~Flt | ( | ) | [virtual] |
bool Flt::checkPresence | ( | ) | [virtual] |
Return the state of this slot.
Check the presence of this slot. The result will be stored in the variable present
Reimplemented from SubrackBoardBase.
int Flt::compareData | ( | FILE * | fout, |
unsigned short * | data, | ||
unsigned short * | patter, | ||
int | shift, | ||
int | n, | ||
int | output = 1 |
||
) |
Returns the number correct compared elements beginning with the first one of data.
The compared pattern can be shifted relative to the data. The swich output = 0 will disable debug information about the compared data in case of an error.
int Flt::getHardwareModelVersion | ( | ) |
Give the version of the used harware model.
The version of the model and the implemented register model of the connected electronic have to fit together.
int Flt::getMeanAdcValue | ( | int | ch, |
double * | value | ||
) |
Calculate mean value of a channel.
int Flt::getVersion | ( | int | unit = 0 | ) | [virtual] |
Get the version of the board.
The format is major version * 100 + minor version number. E.g. 1.2 will result in the return value 120
Reimplemented from SubrackBoardBase.
int Flt::setThresholdToAdc | ( | int | ch, |
unsigned long | delta | ||
) |
Set threshold according to the mean adc value.
ch | Number of the channel |
delta | Offset for the threshold relative to the adc value |
int Flt::testMemory | ( | FILE * | fout, |
int | ch = -1 |
||
) |
Perform a test of the Flt Memory.
The results can be writen to a file or output stream.
This test will
Measure test time, time with system turned off
Improve writing test pattern
Generate random test pattern
int Flt::testTransferRate | ( | FILE * | fout, |
int | ch = -1 , |
||
int | page = -1 |
||
) |
Test the access speed of to the memory.
This test will
Measure test time, time with higher system load
Choose random pix and page for testing
Measure also the transfer rate for writing
int Flt::nPixRegs |
int Flt::nRegs |
To get both statistical values from the same time, it is necessary to store the sum of the square values in the buffer if the sum is requested.
On every peripheral FPGA there is one of these buffers. After retriving the sum, it is possible to get the appropriate sum of squares from the buffer using the same channel number.
Describes the trigger mode of the Flt.