CFEL - ASG Software Suite
2.5.0
CASS
|
decreased offset correction More...
#include <pixel_detectors.h>
Public Member Functions | |
pp241 (const name_t &) | |
constructor More... | |
virtual void | process (const CASSEvent &, result_t &) |
process event More... | |
virtual void | loadSettings (size_t) |
load the settings More... | |
![]() | |
Processor (const name_t &name) | |
constructor More... | |
virtual | ~Processor () |
virtual destructor More... | |
virtual void | processEvent (const CASSEvent &event) |
process the event More... | |
virtual const result_t & | result (const CASSEvent::id_t eventid=0) |
retrieve a result for a given id. More... | |
virtual void | releaseEvent (const CASSEvent &event) |
tell the list that the result for event can be overwritten More... | |
result_t::shared_pointer | resultCopy (const uint64_t eventid) |
retrieve histogram for id More... | |
virtual void | load () |
load the general settings More... | |
virtual void | aboutToQuit () |
function that will be called when the processor is about to be deleted More... | |
const names_t & | dependencies () |
Define all processors keys a processor depends on. More... | |
void | clearDependencies () |
clear the dependenies More... | |
void | clearHistograms () |
clear the histograms More... | |
virtual void | processCommand (std::string command) |
process command in pp More... | |
const name_t | name () const |
retrieve the name of this processor More... | |
bool | hide () const |
retrieve the hide flag of this processor More... | |
const std::string & | comment () const |
retrieve the comment of this processor More... | |
Protected Attributes | |
shared_pointer | _hist |
pp containing 2d histogram to work on More... | |
float | _thresholdA |
threshold for quadrant A More... | |
float | _thresholdB |
threshold for quadrant A More... | |
float | _thresholdC |
threshold for quadrant A More... | |
float | _thresholdD |
threshold for quadrant A More... | |
float | _weightAdjectentRow |
the weight of the row next to the current one More... | |
float | _weightSecondRow |
the weight of the row next over to the current one More... | |
float | _weightSum |
the value by which one has to divide to get the right average value More... | |
size_t | _minRow |
the minimum row More... | |
size_t | _maxRow |
the maximum row More... | |
![]() | |
const name_t | _name |
the processors name More... | |
bool | _hide |
flag to tell whether this pp should be hidden in the dropdown list More... | |
std::string | _comment |
optional comment that one can add to a processor. More... | |
CachedList | _resultList |
the list of results More... | |
names_t | _dependencies |
the list of dependencies More... | |
shared_pointer | _condition |
pointer to the processor that will contain the condition More... | |
Additional Inherited Members | |
![]() | |
typedef std::tr1::shared_ptr< Processor > | shared_pointer |
a shared pointer of this More... | |
typedef std::string | name_t |
define the name type More... | |
typedef std::list< name_t > | names_t |
define the list of names More... | |
typedef CachedList::item_type | result_t |
define the results More... | |
typedef CachedList::item_sp | resultsp_t |
define the shared pointer to the result More... | |
![]() | |
virtual void | createHistList (result_t::shared_pointer result) |
create result list. More... | |
void | setupGeneral () |
general setup of the processor More... | |
bool | setupCondition (bool defaultConditionType=true) |
setup the condition. More... | |
shared_pointer | setupDependency (const std::string &depVarName, const name_t &name="") |
setup the dependecy. More... | |
decreased offset correction
modifies the incomming 2d histogram such that a wrong offset du to much charge on the pnCCD detector will be corrected.
The correction is different for each quadrant. Basically one corrects a line with a linear slope. Therefore one determines how much the nominal offset at the edge of the detector has been disturbed. It should not be disturbed at all since these parts are shielded from the light. A distortion will therefore indicate how much these lines have been distorted.
This processor will therefore first determine at the edge of the detector how much the offset has been distorted. Once this is know one can use a correction factor and substract this from the measured value. A pixels correction is therefore done like
determine the averageOffsetAtEdge value and from that determine the slope for the quadrant. Then pixel values are calculated like this:
cor_function_value = slope * column_number - averageOffsetAtEdge; final_corection = pix_raw_val - offset_from_darkcal - cor_function_value;
Because the average offset at the edge of the detector might contain statisics outliers. One can includes the line above and below with less (user selectable) weight. If one chooses 0 weight that line will not be included in the calculation of the determination of the average offset value at the edge.
The average offset at the edge of the first two and the last two rows will only be determined by the current row.
Processor/%name%/{ImageName}
Name of Processor containing the distorted pnCCD image. Default is "".
Processor/%name%/{ThresholdQuadrantA}
Threshold for the rows of quadrant A. If the averaged value is below this value the whole row of this quadrant is changed. Default is 0.
Processor/%name%/{ThresholdQuadrantB}
Threshold for the rows of quadrant B. If the averaged value is below this value the whole row of this quadrant is changed. Default is 0.
Processor/%name%/{ThresholdQuadrantC}
Threshold for the rows of quadrant A. If the averaged value is below this value the whole row of this quadrant is changed. Default is 0.
Processor/%name%/{ThresholdQuadrantD}
Threshold for the rows of quadrant D. If the averaged value is below this value the whole row of this quadrant is changed. Default is 0.
Processor/%name%/{WeightAdjecentRow}
How much will the row that is adjecent to the current row be weightd when calculating the average offset at the edge of the detector. Default is 0.75.
Processor/%name%/{WeightSecondNextRow}
How much will the row that is the next over to the current row be weightd when calculating the average offset at the edge of the detector. Default is 0.5.
Processor/%name%/{MinimumRow}
Define from which row the correction should be applied. Default is 0.
Processor/%name%/{MaximumRow}
Define to which row the correction should be applied. Default is 1024.
Definition at line 485 of file pixel_detectors.h.
pp241::pp241 | ( | const name_t & | name | ) |
|
virtual |
load the settings
Reimplemented from cass::Processor.
Definition at line 501 of file pixel_detectors.cpp.
References cass::Processor::_condition, _hist, _maxRow, _minRow, _thresholdA, _thresholdB, _thresholdC, _thresholdD, _weightAdjectentRow, _weightSecondRow, _weightSum, cass::Log::add(), QSettings::beginGroup(), cass::Processor::createHistList(), QString::fromStdString(), cass::Log::INFO, cass::Processor::name(), cass::Processor::setupCondition(), cass::Processor::setupDependency(), and cass::Processor::setupGeneral().
Referenced by pp241().
process event
Reimplemented from cass::Processor.
Definition at line 533 of file pixel_detectors.cpp.
References _hist, _maxRow, _minRow, _thresholdA, _thresholdB, _thresholdC, _thresholdD, _weightAdjectentRow, _weightSecondRow, _weightSum, cass::CASSEvent::id(), and cass::Result< T >::lock.
|
protected |
pp containing 2d histogram to work on
Definition at line 499 of file pixel_detectors.h.
Referenced by loadSettings(), and process().
|
protected |
the maximum row
Definition at line 526 of file pixel_detectors.h.
Referenced by loadSettings(), and process().
|
protected |
the minimum row
Definition at line 523 of file pixel_detectors.h.
Referenced by loadSettings(), and process().
|
protected |
threshold for quadrant A
Definition at line 502 of file pixel_detectors.h.
Referenced by loadSettings(), and process().
|
protected |
threshold for quadrant A
Definition at line 505 of file pixel_detectors.h.
Referenced by loadSettings(), and process().
|
protected |
threshold for quadrant A
Definition at line 508 of file pixel_detectors.h.
Referenced by loadSettings(), and process().
|
protected |
threshold for quadrant A
Definition at line 511 of file pixel_detectors.h.
Referenced by loadSettings(), and process().
|
protected |
the weight of the row next to the current one
Definition at line 514 of file pixel_detectors.h.
Referenced by loadSettings(), and process().
|
protected |
the weight of the row next over to the current one
Definition at line 517 of file pixel_detectors.h.
Referenced by loadSettings(), and process().
|
protected |
the value by which one has to divide to get the right average value
Definition at line 520 of file pixel_detectors.h.
Referenced by loadSettings(), and process().