fdhwlib
2.0.25
|
#include <febaseimage.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 there is another features of the analog electronic, the gain of the analog electronic.
Changes:
Definition at line 70 of file febaseimage.h.
FEbaseImage::FEbaseImage | ( | ) | [inline] |
Definition at line 72 of file febaseimage.h.
{ }
virtual FEbaseImage::~FEbaseImage | ( | ) | [virtual] |
virtual void FEbaseImage::disableGainErr | ( | int | ) | [inline, virtual] |
virtual void FEbaseImage::disablePixel | ( | int | , |
unsigned long | |||
) | [inline, virtual] |
Disable all pixel in the mask.
Reimplemented in FE4image, and FEimage.
Definition at line 263 of file febaseimage.h.
{ }
virtual void FEbaseImage::enableGainErr | ( | int | ) | [inline, virtual] |
virtual void FEbaseImage::enablePixel | ( | int | , |
unsigned long | |||
) | [inline, virtual] |
Enable all pixel in the mask.
Clears fixed and disabled pixel.
Reimplemented in FE4image, and FEimage.
Definition at line 260 of file febaseimage.h.
{ }
virtual void FEbaseImage::fixPixel | ( | int | , |
unsigned long | |||
) | [inline, virtual] |
Set all pixel in the mask to fixed.
Reimplemented in FE4image, and FEimage.
Definition at line 266 of file febaseimage.h.
{ }
virtual unsigned FEbaseImage::getCurrent | ( | int | , |
int | |||
) | [inline, virtual] |
Read the DC component of the anode current of the specified pixel.
Reimplemented in FEimage.
Definition at line 222 of file febaseimage.h.
{ return 0; }
virtual unsigned long FEbaseImage::getDisabledPixel | ( | int | ) | [inline, virtual] |
Get a list of the disabled pixel (0 not disabeled, 1 disabled)
Reimplemented in FE4image, and FEimage.
Definition at line 240 of file febaseimage.h.
{ return 0; }
virtual unsigned long FEbaseImage::getFixedPixel | ( | int | ) | [inline, virtual] |
Get a list of the fixed pixel (0 not fixed, 1 fixed)
Reimplemented in FE4image, and FEimage.
Definition at line 245 of file febaseimage.h.
{ return 0; }
virtual unsigned long FEbaseImage::getFixedType | ( | int | ) | [inline, 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 in FE4image, and FEimage.
Definition at line 252 of file febaseimage.h.
{ return 0; }
virtual int FEbaseImage::getGain | ( | int | col, |
int | row | ||
) | [pure virtual] |
virtual bool FEbaseImage::getStatisticParameters | ( | int | col, |
int | row, | ||
int * | offset, | ||
unsigned long * | n | ||
) | [pure virtual] |
virtual void FEbaseImage::getStatistics | ( | int | col, |
int | row, | ||
double * | mean, | ||
double * | var | ||
) | [pure virtual] |
virtual void FEbaseImage::getStatistics | ( | int | col, |
int | row, | ||
signed long * | sum, | ||
unsigned long * | sumSq | ||
) | [pure virtual] |
virtual void FEbaseImage::getStatistics | ( | signed long * | sum, |
unsigned long * | sumSq | ||
) | [pure virtual] |
virtual void FEbaseImage::initCurrentMonitor | ( | int | ) | [inline, virtual] |
don't use this function -- the function has been moved to the configuration section.
Initialize the current monitor
Reimplemented in FEimage.
Definition at line 235 of file febaseimage.h.
{ }
virtual int FEbaseImage::isBusyLoadingGains | ( | int | ) | [inline, virtual] |
Returns the load gain action busy flag.
(New for V4.)
After calling loadGains(col) this will return 1 during loading the gains. Data taking or reading/writing gains should be avoided until it is 0 again.
Reimplemented in FE4image.
Definition at line 217 of file febaseimage.h.
{ return 0; }
virtual bool FEbaseImage::isEnabledGainErr | ( | int | ) | [inline, virtual] |
Reimplemented in FE4image, and FEimage.
Definition at line 298 of file febaseimage.h.
{ return false; }
virtual void FEbaseImage::loadGains | ( | int | ) | [inline, virtual] |
Load (activate) the gains of the specified col (flt).
(New for V4.)
After setting the gains with setGain(int col, int row, int gain) they need to be activated/loaded by this command (all gains of this flt/col). The loading takes about 150 useconds (KATRIN) or 30 milli secons (AUGER) and is finished when the action busy flag of the status register is down.
Reimplemented in FE4image.
Definition at line 210 of file febaseimage.h.
{ }
virtual int FEbaseImage::read | ( | int | col, |
int | row, | ||
int | page, | ||
unsigned short * | data | ||
) | [pure 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[2000] |
virtual int FEbaseImage::read | ( | int | col, |
int | row, | ||
int | page, | ||
int | start, | ||
unsigned short * | data, | ||
int | len | ||
) | [pure 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 |
virtual int FEbaseImage::read | ( | int | col, |
int | row, | ||
int | page, | ||
int | start, | ||
unsigned short * | data | ||
) | [pure 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] |
virtual void FEbaseImage::readCurrent | ( | int | , |
unsigned long * | |||
) | [inline, 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 in FEimage.
Definition at line 229 of file febaseimage.h.
{ }
virtual int FEbaseImage::readPage | ( | int | , |
int | , | ||
int | , | ||
unsigned short * | |||
) | [inline, virtual] |
Read one page of data for one pixel.
Use the 'imgAddr' computed by FEbaseEvent->getTimeStamp(...).
IMPLEMENTED FOR V4 ONLY!
col | column 1-20 |
row | row 1-22, 23-24 for the virtual channel |
imgAddr | image offset |
data | data[2000] |
Reimplemented in FE4image.
Definition at line 105 of file febaseimage.h.
{ return 0; }
virtual int FEbaseImage::readPage | ( | int | , |
int | , | ||
int | , | ||
unsigned short * | , | ||
int | , | ||
int | |||
) | [inline, virtual] |
Read one page of data for one pixel.
Use the 'imgAddr' computed by FEbaseEvent->getTimeStamp(...).
IMPLEMENTED FOR V4 ONLY!
col | column 1-20 |
row | row 1-22, 23-24 for the virtual channel |
imgAddr | image offset |
start | offset of the block offset |
data | data[2000] |
Reimplemented in FE4image.
Definition at line 119 of file febaseimage.h.
{ return 0; }
virtual void FEbaseImage::setDisabledPixel | ( | int | , |
unsigned long | |||
) | [inline, virtual] |
Mark pixel as disabled (0 not disabled, 1 disabled)
Reimplemented in FE4image, and FEimage.
Definition at line 256 of file febaseimage.h.
{ }
virtual void FEbaseImage::setFixedPixel | ( | int | , |
unsigned long | |||
) | [inline, virtual] |
Mark pixel as fixed (0 not fixed, 1 fixed).
The pixel can be fixed to low or high as chosen by setFixedType
Reimplemented in FE4image, and FEimage.
Definition at line 274 of file febaseimage.h.
{ }
virtual void FEbaseImage::setFixedType | ( | int | , |
unsigned long | |||
) | [inline, virtual] |
Defines whether the fixed pixel are set to low or high (0 low, 1 high)
Reimplemented in FE4image, and FEimage.
Definition at line 278 of file febaseimage.h.
{ }
virtual void FEbaseImage::setFixedTypeToHigh | ( | int | , |
unsigned long | |||
) | [inline, virtual] |
Change the fixed type of all pixel in the mask to high.
Reimplemented in FE4image, and FEimage.
Definition at line 287 of file febaseimage.h.
{ }
virtual void FEbaseImage::setFixedTypeToLow | ( | int | , |
unsigned long | |||
) | [inline, virtual] |
Change the fixed type of all pixel in the mask to low.
Reimplemented in FE4image, and FEimage.
Definition at line 282 of file febaseimage.h.
{ }
virtual void FEbaseImage::setGain | ( | int | col, |
int | row, | ||
int | gain | ||
) | [pure virtual] |
virtual void FEbaseImage::setStatisticParameters | ( | bool | enable, |
int | offset, | ||
unsigned long | n | ||
) | [pure virtual] |
virtual int FEbaseImage::waitForGainErr | ( | ) | [inline, virtual] |
Blocks execution until a gain error occurs.
Reimplemented in FE4image, and FEimage.
Definition at line 292 of file febaseimage.h.
{ return 0; }