fdhwlib
2.0.25
|
#include <FEimage.h>
The class allows the access to the image data of a single mirror.
The size of the image depends on the coding of the values. In compression mode the size equals the physical number of pixel (20x22 pixel). Using virtual channel there are two additional rows (20x24 pixel). The rows are numbered from 1 to 22(24) and columns are numbered from 1 to 20. For each pixel there are 32 pages numbered from 1 to 32 of 1k words of data. They contain the history of the last 100us before the next page signal. To be more efficient the readout procedure will return long words including the data of two consecutive pixel in one column.
Due to bright stars and other light sources that affect only some of the pixel it is necessary to manage the state of each pixel separately. The state of a pixel can be enabled, fixed to low, fixed to high or disabled For each column two long words are used mark the pixel as disabled or fixed. Another parameter defines whether the pixel in case of being fixed is fixed to lower or higher border. In the parameters the bits 0-21 correspond with the pixel 0-21 of the column.
In close conjunction with the image data are two other features of the analog electronic: The gain of the analog electronic and the current monitor to measure the average background light.
Changes:
FEimage::FEimage | ( | Subrack * | s | ) |
void FEimage::disableGainErr | ( | int | col | ) | [virtual] |
Reimplemented from FEbaseImage.
void FEimage::disablePixel | ( | int | col, |
unsigned long | mask | ||
) | [virtual] |
Disable all pixel in the mask.
Reimplemented from FEbaseImage.
void FEimage::enableGainErr | ( | int | col | ) | [virtual] |
Reimplemented from FEbaseImage.
void FEimage::enablePixel | ( | int | col, |
unsigned long | mask | ||
) | [virtual] |
void FEimage::fixPixel | ( | int | col, |
unsigned long | mask | ||
) | [virtual] |
Set all pixel in the mask to fixed.
Reimplemented from FEbaseImage.
unsigned FEimage::getCurrent | ( | int | col, |
int | row | ||
) | [virtual] |
Read the DC component of the anode current of the specified pixel.
Reimplemented from FEbaseImage.
unsigned long FEimage::getDisabledPixel | ( | int | col | ) | [virtual] |
Get a list of the disabled pixel (0 not disabeled, 1 disabled)
Reimplemented from FEbaseImage.
unsigned long FEimage::getFixedPixel | ( | int | col | ) | [virtual] |
Get a list of the fixed pixel (0 not fixed, 1 fixed)
Reimplemented from FEbaseImage.
unsigned long FEimage::getFixedType | ( | int | col | ) | [virtual] |
Get list of the pixel fixed to low and high (0 low, 1 high).
This information is only relevant if the pixel are fixed (and not disabled). To check use getFixedPixel and getDisabledPixel
Reimplemented from FEbaseImage.
int FEimage::getGain | ( | int | col, |
int | row | ||
) | [virtual] |
Read the gain of the specified pixel.
Implements FEbaseImage.
bool FEimage::getStatisticParameters | ( | int | col, |
int | row, | ||
int * | offset, | ||
unsigned long * | n | ||
) | [virtual] |
Get parameters for the calculation of the statistical parameters.
Implements FEbaseImage.
void FEimage::getStatistics | ( | int | col, |
int | row, | ||
double * | mean, | ||
double * | var | ||
) | [virtual] |
Get statistical parameters for the ADC values.
Changes:
Implements FEbaseImage.
void FEimage::getStatistics | ( | int | col, |
int | row, | ||
signed long * | sum, | ||
unsigned long * | sumSq | ||
) | [virtual] |
Get statistical parameters for the ADC values.
Normally all parameters should be equal, so use only one existing pixel to read the parameters.
Implements FEbaseImage.
void FEimage::getStatistics | ( | signed long * | sum, |
unsigned long * | sumSq | ||
) | [virtual] |
Get statistical parameters for all pixel.
Implements FEbaseImage.
void FEimage::initCurrentMonitor | ( | int | col | ) | [virtual] |
don't use this function -- the function has been moved to the configuration section.
Initialize the current monitor
Reimplemented from FEbaseImage.
bool FEimage::isEnabledGainErr | ( | int | col | ) | [virtual] |
Reimplemented from FEbaseImage.
int FEimage::read | ( | int | col, |
int | row, | ||
int | page, | ||
unsigned short * | data | ||
) | [virtual] |
Read one page of data for one pixel.
The function requires an array of FLT_PAGE_SIZE long words. Each value contains the measurements for a single pixel.
col | column 1-20 |
row | row 1-22, 23-24 for the virtual channel |
page | page 1-32 |
data | data[1000] |
Implements FEbaseImage.
int FEimage::read | ( | int | col, |
int | row, | ||
int | page, | ||
int | start, | ||
unsigned short * | data, | ||
int | len = FLT_PAGE_SIZE |
||
) | [virtual] |
Reading len values beginning from the position start.
col | column 1-20 |
row | row 1-22, 23-24 for the virtual channel |
page | page 1-32 |
start | 0..999 |
data | data[1000] |
len | 1...1000 |
Implements FEbaseImage.
int FEimage::read | ( | int | col, |
int | row, | ||
int | page, | ||
int | start, | ||
unsigned short * | data | ||
) | [virtual] |
Read the complete image but start at the given address.
col | column 1-20 |
row | row 1-22, 23-24 for the virtual channel |
page | page 1-32 |
start | 0..999 |
data | data[1000] |
Implements FEbaseImage.
void FEimage::readCurrent | ( | int | col, |
unsigned long * | data | ||
) | [virtual] |
Read the current monitor values of the complete row.
Make sure the array to store the data is of appropriate size (0..23).
Reimplemented from FEbaseImage.
void FEimage::setDisabledPixel | ( | int | col, |
unsigned long | status | ||
) | [virtual] |
Mark pixel as disabled (0 not disabled, 1 disabled)
Reimplemented from FEbaseImage.
void FEimage::setFixedPixel | ( | int | col, |
unsigned long | status | ||
) | [virtual] |
Mark pixel as fixed (0 not fixed, 1 fixed).
The pixel can be fixed to low or high as chosen by setFixedType
Reimplemented from FEbaseImage.
void FEimage::setFixedType | ( | int | col, |
unsigned long | status | ||
) | [virtual] |
Defines whether the fixed pixel are set to low or high (0 low, 1 high)
Reimplemented from FEbaseImage.
void FEimage::setFixedTypeToHigh | ( | int | col, |
unsigned long | mask | ||
) | [virtual] |
Change the fixed type of all pixel in the mask to high.
Reimplemented from FEbaseImage.
void FEimage::setFixedTypeToLow | ( | int | col, |
unsigned long | mask | ||
) | [virtual] |
Change the fixed type of all pixel in the mask to low.
Reimplemented from FEbaseImage.
void FEimage::setGain | ( | int | col, |
int | row, | ||
int | gain | ||
) | [virtual] |
Write the gain of the specified pixel.
Implements FEbaseImage.
void FEimage::setStatisticParameters | ( | bool | enable, |
int | offset, | ||
unsigned long | n | ||
) | [virtual] |
Set parameters for the calculation of the statistical parameters.
The function loads the same parameters for all pixel.
Implements FEbaseImage.
int FEimage::waitForGainErr | ( | ) | [virtual] |
Blocks execution until a gain error occurs.
Reimplemented from FEbaseImage.
Subrack* FEimage::s [private] |