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

pixel detector common mode background calculation More...

#include <pixel_detector_calibration.h>

+ Inheritance diagram for cass::pp334:
+ Collaboration diagram for cass::pp334:

Public Member Functions

 pp334 (const name_t &)
 constructor. More...
 
virtual void process (const CASSEvent &, result_t &)
 overwrite default behaviour don't do anything More...
 
virtual void loadSettings (size_t)
 load the settings of this pp 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...
 

Private Attributes

shared_pointer _image
 the image to create the hotpixel map from More...
 
float _width
 the number of times a pixel is high before masking it as hot pixel More...
 
float _maxDist
 the maximum distance between the value of the unbonded pxiels and the hist More...
 
bool _checks
 enable output that allow to check the parameters 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...
 
- 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...
 

Detailed Description

pixel detector common mode background calculation

Available PostProcessors:
"334": pixel detector common mode calc using histograms
See also
Processor for a list of all commonly available cass.ini settings.
User definable Parameters:

Processor/%name%/{Image}
the image of the pixel detector

Processor/%name%/{Width}
when using the histogram option this is the width of the 0 photons peak that the CsPAD typically has. Default is 30

Processor/%name%/{MaxDistance}
How much should the histogram value differ at the most from the unbonded pixel value, before the value of the unbonded pixel is taken. Default is 5

Processor/%name%/{EnableChecks}
Switch that allows to enable checks by outputting the histograms, and the found maxima. Default is false.

Author
Lutz Foucar

Definition at line 641 of file pixel_detector_calibration.h.

Constructor & Destructor Documentation

pp334::pp334 ( const name_t name)

constructor.

Definition at line 906 of file pixel_detector_calibration.cpp.

References loadSettings().

Member Function Documentation

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

overwrite default behaviour don't do anything

define a few things for the hisogram and asics

create list of histograms

iterate through image

get the pixel value

skip pixel if it is masked

find out in which row of the image we're

find out where we're on the row

find out on which asic of the chip we're

find out which chip we're on

calc which asic we're on

determine the bin in which the pixels values will fall

check if the bin is out of bounds, if so skip it

add the pixel to the histogram

determine the center of mass of the first peak in each histogram

go through unbonded pixels of each asic of image and calculate the mean

check if the maximum of the histogram is close to the mean of the unbonded pixels, if so than the common mode is the value determined by the histogram, otherwise its the mean value of the unbonded pixels

set the pixels of the result to the determined common mode value

iterate through image

get the pixel value of the original image

skip pixel if it is masked

find out in which row of the image we're

find out where we're on the row

find out on which asic of the chip we're

find out which chip we're on

calc which asic we're on

set the common mode value of the pixel

if the checks are enabled add them to the end of the result

set the pos of the output line

add the histogram

add the hist cm value

add the unbonded pixel cm value

add the used cm value

Reimplemented from cass::Processor.

Definition at line 939 of file pixel_detector_calibration.cpp.

References _checks, _image, _maxDist, _width, cass::Result< T >::begin(), cass::histogramming::bin(), cass::ACQIRIS::com, cass::Result< T >::datasize(), cass::CASSEvent::id(), cass::ACQIRIS::integral, cass::Result< T >::lock, cass::max_element(), and cass::Result< T >::shape().

Member Data Documentation

bool cass::pp334::_checks
private

enable output that allow to check the parameters

Definition at line 664 of file pixel_detector_calibration.h.

Referenced by loadSettings(), and process().

shared_pointer cass::pp334::_image
private

the image to create the hotpixel map from

Definition at line 655 of file pixel_detector_calibration.h.

Referenced by loadSettings(), and process().

float cass::pp334::_maxDist
private

the maximum distance between the value of the unbonded pxiels and the hist

Definition at line 661 of file pixel_detector_calibration.h.

Referenced by loadSettings(), and process().

float cass::pp334::_width
private

the number of times a pixel is high before masking it as hot pixel

Definition at line 658 of file pixel_detector_calibration.h.

Referenced by loadSettings(), and process().


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