CFEL - ASG Software Suite  2.5.0
CASS
Public Member Functions | Protected Attributes | List of all members
cass::pp241 Class Reference

decreased offset correction More...

#include <pixel_detectors.h>

+ Inheritance diagram for cass::pp241:
+ Collaboration diagram for cass::pp241:

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...
 
- Public Member Functions inherited from cass::Processor
 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_tresult (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_tdependencies ()
 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...
 
- Protected Attributes inherited from cass::Processor
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

- Public Types inherited from cass::Processor
typedef std::tr1::shared_ptr< Processorshared_pointer
 a shared pointer of this More...
 
typedef std::string name_t
 define the name type More...
 
typedef std::list< name_tnames_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...
 
- Protected Member Functions inherited from cass::Processor
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...
 

Detailed Description

decreased offset correction

Available PostProcessors:
"241" correct the distorted offset in a pnCCD image

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.

See also
Processor for a list of all commonly available cass.ini settings.
User definable Parameters:

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.

Author
Lutz Foucar

Definition at line 485 of file pixel_detectors.h.

Constructor & Destructor Documentation

pp241::pp241 ( const name_t name)

constructor

Definition at line 495 of file pixel_detectors.cpp.

References loadSettings().

Member Function Documentation

void pp241::loadSettings ( size_t  )
virtual
void pp241::process ( const CASSEvent evt,
result_t result 
)
virtual

Member Data Documentation

shared_pointer cass::pp241::_hist
protected

pp containing 2d histogram to work on

Definition at line 499 of file pixel_detectors.h.

Referenced by loadSettings(), and process().

size_t cass::pp241::_maxRow
protected

the maximum row

Definition at line 526 of file pixel_detectors.h.

Referenced by loadSettings(), and process().

size_t cass::pp241::_minRow
protected

the minimum row

Definition at line 523 of file pixel_detectors.h.

Referenced by loadSettings(), and process().

float cass::pp241::_thresholdA
protected

threshold for quadrant A

Definition at line 502 of file pixel_detectors.h.

Referenced by loadSettings(), and process().

float cass::pp241::_thresholdB
protected

threshold for quadrant A

Definition at line 505 of file pixel_detectors.h.

Referenced by loadSettings(), and process().

float cass::pp241::_thresholdC
protected

threshold for quadrant A

Definition at line 508 of file pixel_detectors.h.

Referenced by loadSettings(), and process().

float cass::pp241::_thresholdD
protected

threshold for quadrant A

Definition at line 511 of file pixel_detectors.h.

Referenced by loadSettings(), and process().

float cass::pp241::_weightAdjectentRow
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().

float cass::pp241::_weightSecondRow
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().

float cass::pp241::_weightSum
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().


The documentation for this class was generated from the following files: