CFEL - ASG Software Suite
2.5.0
CASS
|
An Advanced Pixel Detector. More...
#include <advanced_pixeldetector.h>
Public Types | |
typedef std::vector< Hit > | hits_t |
define the list of coalesced pixels More... | |
typedef std::vector< Pixel > | pixels_t |
Public Member Functions | |
AdvancedDetector (const std::string &name) | |
constructor More... | |
void | associate (const CASSEvent &evt) |
associate the detector with a simple Pixel Detector within a CASSEvent More... | |
void | loadSettings (CASSSettings &s) |
load the settings of this More... | |
const Frame & | frame () |
retrieve the frame More... | |
const pixels_t & | pixels () |
retrieve the pixellist More... | |
const hits_t & | hits () |
retrieve the hits/ More... | |
Private Attributes | |
std::tr1::shared_ptr< CommonData > | _common |
container for data common for all detectors with this name More... | |
Frame | _frame |
the frame of the detector More... | |
bool | _frameExtracted |
flag to tell whether the frame has been extracted already More... | |
std::tr1::shared_ptr< FrameProcessorBase > | _process |
functor to extract the frame from the CASSEvent More... | |
pixels_t | _pixels |
the list of pixels More... | |
bool | _pixellistCreated |
flag to tell whether the pixel list has been created More... | |
std::tr1::shared_ptr< PixelFinderBase > | _find |
functor to extract the pixel list More... | |
hits_t | _hits |
hits on the detector More... | |
bool | _hitListCreated |
flag whether hit list has been created already More... | |
std::tr1::shared_ptr< CoalescingBase > | _coalesce |
functor that will do the coalescing More... | |
std::string | _name |
the name of this detector More... | |
int32_t | _detector |
the detector within the device More... | |
This class describes a pixel detector which has all the opertors to analyse and extract the additional information internally.
PixelDetectors/%name%/{Detector}
The detector that contains the ccd image. Default is 0. Options are:
PixelDetectors/%name%/{FrameProcessorType}
Functor for processing the frame. Default is "none". Options are:
PixelDetectors/%name%/{PixelFinderType}
Functor for finding pixels of interest in the frame. The pixels will be found after the frame processor has processed the frame. Default is "aboveNoise". Options are:
PixelDetectors/%name%/{CoalescingFunctionType}
Functor to coalesce the pixels into hits. Default is "simple". Options are:
there are more settings for the common data. Please see cass::pixeldetector::CommonData for details on what to set.
Definition at line 159 of file advanced_pixeldetector.h.
typedef std::vector<Hit> cass::pixeldetector::AdvancedDetector::hits_t |
define the list of coalesced pixels
Definition at line 163 of file advanced_pixeldetector.h.
typedef std::vector<Pixel> cass::pixeldetector::AdvancedDetector::pixels_t |
Definition at line 165 of file advanced_pixeldetector.h.
AdvancedDetector::AdvancedDetector | ( | const std::string & | name | ) |
constructor
name | the name of this detector |
Definition at line 27 of file advanced_pixeldetector.cpp.
void AdvancedDetector::associate | ( | const CASSEvent & | evt | ) |
associate the detector with a simple Pixel Detector within a CASSEvent
resets the flags indicating whether the frame, the pixel list and the hit list have been created. Copies the Frame data the info about the columns and rows to the _frame object of this class. The _frame object is then passed to the _common object. This should then build up the necessary Maps for correcting. See CommonData for details
evt | The CASSEvent that contains the PixelDetector that this container is responsible for. |
validate the detector data
Definition at line 70 of file advanced_pixeldetector.cpp.
References _common, _detector, _frame, _frameExtracted, _hitListCreated, _hits, _pixellistCreated, _pixels, cass::pixeldetector::Frame::columns, cass::pixeldetector::Detector::columns(), cass::pixeldetector::Frame::data, cass::pixeldetector::Device::dets(), cass::CASSEvent::devices(), cass::pixeldetector::Detector::frame(), cass::CASSEvent::id(), cass::pixeldetector::Detector::id(), cass::CASSEvent::PixelDetectors, cass::pixeldetector::Frame::rows, cass::pixeldetector::Detector::rows(), and cass::toString().
const Frame & AdvancedDetector::frame | ( | ) |
retrieve the frame
the frame from the cass event is treated with the frame processor _process before it is returned, but only when it has not yet been treated. For all available options see this classes cass settings information.
Definition at line 35 of file advanced_pixeldetector.cpp.
References _frame, _frameExtracted, and _process.
Referenced by pixels().
const AdvancedDetector::hits_t & AdvancedDetector::hits | ( | ) |
retrieve the hits/
Hits are defined as particles or photons that hit the detector. Those hits can potentially not only be detected by just one pixel. Therefore one has to find the pixels that belong to one hit on the detector. This is done by the coalsecing functions available to this class (for a complete list of all available finding procedures please refer to the description of this class). The coalsecing functions work on the pixellist that is created from the processed frame.
Definition at line 58 of file advanced_pixeldetector.cpp.
References _coalesce, _frame, _hitListCreated, _hits, _pixels, cass::pixeldetector::coalesce(), and pixels().
void AdvancedDetector::loadSettings | ( | CASSSettings & | s | ) |
load the settings of this
loads which FrameProcessorBase functor should be used, get an instance of the right type and load its settings. loads which PixelFinderBase functor should be used, get an instance of the right type and load its settings. loads which CoalescingBase functor should be used, get an instance of the right type and load its settings. the loads the seetings for the common data. See CommonData for details.
s | the CASSSettings object to read the information from |
Definition at line 101 of file advanced_pixeldetector.cpp.
References _coalesce, _common, _detector, _find, _name, _process, QSettings::beginGroup(), QSettings::endGroup(), QString::fromStdString(), cass::pixeldetector::FrameProcessorBase::instance(), cass::pixeldetector::CoalescingBase::instance(), cass::pixeldetector::PixelFinderBase::instance(), cass::pixeldetector::CommonData::instance(), and QSettings::value().
const AdvancedDetector::pixels_t & AdvancedDetector::pixels | ( | ) |
retrieve the pixellist
the pixels list contains all pixels that fullfill a certain criteria. They are found in the processed frame using different finding functions. For a list of all available finding procedures please refer to the description of this class.
Definition at line 46 of file advanced_pixeldetector.cpp.
References _find, _frame, _pixellistCreated, _pixels, and frame().
Referenced by hits().
|
private |
functor that will do the coalescing
Definition at line 258 of file advanced_pixeldetector.h.
Referenced by hits(), and loadSettings().
|
private |
container for data common for all detectors with this name
Definition at line 231 of file advanced_pixeldetector.h.
Referenced by associate(), and loadSettings().
|
private |
the detector within the device
Definition at line 264 of file advanced_pixeldetector.h.
Referenced by associate(), and loadSettings().
|
private |
functor to extract the pixel list
Definition at line 249 of file advanced_pixeldetector.h.
Referenced by loadSettings(), and pixels().
|
private |
the frame of the detector
Definition at line 234 of file advanced_pixeldetector.h.
Referenced by associate(), frame(), hits(), and pixels().
|
private |
flag to tell whether the frame has been extracted already
Definition at line 237 of file advanced_pixeldetector.h.
Referenced by associate(), and frame().
|
private |
flag whether hit list has been created already
Definition at line 255 of file advanced_pixeldetector.h.
Referenced by associate(), and hits().
|
private |
hits on the detector
Definition at line 252 of file advanced_pixeldetector.h.
Referenced by associate(), and hits().
|
private |
the name of this detector
Definition at line 261 of file advanced_pixeldetector.h.
Referenced by loadSettings().
|
private |
flag to tell whether the pixel list has been created
Definition at line 246 of file advanced_pixeldetector.h.
Referenced by associate(), and pixels().
|
private |
the list of pixels
Definition at line 243 of file advanced_pixeldetector.h.
Referenced by associate(), hits(), and pixels().
|
private |
functor to extract the frame from the CASSEvent
Definition at line 240 of file advanced_pixeldetector.h.
Referenced by frame(), and loadSettings().