CFEL - ASG Software Suite  2.5.0
CASS
coalesce_simple.h
Go to the documentation of this file.
1 // Copyright (C) 2011 Lutz Foucar
2 
3 /**
4  * @file coalesce_simple.h contains class that does the pixel coalescing in a
5  * simple way.
6  *
7  * @author Lutz Foucar
8  */
9 
10 #ifndef _COALESCESIMPLE_H_
11 #define _COALESCESIMPLE_H_
12 
13 #include "coalescing_base.h"
14 
15 namespace cass
16 {
17 namespace pixeldetector
18 {
19 
20 /** simple coalescing of pixels
21  *
22  * take the input pixel list and coalesce it to hits on the detector.
23  *
24  * @cassttng PixelDetectors/\%name\%/SimpleCoalescing/{MaxPixelListSize}\n
25  * Maximum size of the incomming pixel list that will be still
26  * treated by this functor. Default is 10000
27  * @cassttng PixelDetectors/\%name\%/SimpleCoalescing/{MipThreshold}\n
28  * The threhold in ADU above which a pixel is regarded as part of
29  * a Ionizing Particle. Default is 1e6
30  * @cassttng PixelDetectors/\%name\%/SimpleCoalescing/{ShouldNotCheckCoalsescing}\n
31  * Once a sublist of pixels that should be coalesced is found,
32  * usually the function checks whether it should be coalesced based
33  * on whether non of the sourrounding pixels is 0. This is bad when
34  * using this with detectors other than pnCCD. This flag when true
35  * will disable this check. Default is 'false'
36  * @cassttng PixelDetectors/\%name\%/SimpleCoalescing/{MaxRecursionDepth}\n
37  * The maximum recursion depth whith which the recursive search for
38  * neighbouring pixels will be done. For details see
39  * cass::findNeighbours(). Default is 7
40  *
41  * @author Lutz Foucar
42  */
44 {
45 public:
46  /** constructor */
48 
49  /** coalesce the pixels
50  *
51  * use a simple recursive algorithm to find pixels that are neighbours. See
52  * cass::findNeighbours(). After a check whether the pixels should be
53  * coalesced, see cass::shouldCoalescePixel(), coalesce the pixels to hits,
54  * see cass::coalesce()
55  *
56  * @return reference to the coalesced pixel list
57  * @param frame the frame containing the pixels of interest
58  * @param pixels the list of pixels that should be coalesced
59  * @param hits The list where the pixels that were coalesced to hits go in
60  */
61  hits_t& operator() (const Frame &frame, pixels_t &pixels, hits_t &hits);
62 
63  /** load the settings of this
64  *
65  * @param s the CASSSettings object to read the information from
66  */
67  void loadSettings(CASSSettings &s);
68 
69 private:
70  /** the maximmum size of the incomming pixel list that we will still work on */
72 
73  /** how many times is the recursion be allowe to call itselve */
75 
76  /** the threshold above which a pixel is identified as MIP signature */
78 
79  /** flag to show whether the pixels should be coalesced */
81 };
82 
83 } //end namespace pixeldetector
84 } //end namespace cass
85 #endif
size_t _maxPixelListSize
the maximmum size of the incomming pixel list that we will still work on
std::vector< Hit > hits_t
define the list of coalesced pixels
Settings for CASS.
Definition: cass_settings.h:30
uint16_t _maxRecursionDepth
how many times is the recursion be allowe to call itselve
Average out the iShit status to get the avererage hits
float _mipThreshold
the threshold above which a pixel is identified as MIP signature
file contains base class for all coalescing functors.
simple coalescing of pixels
base class for all coalescing functors
bool _notCheckCoalesce
flag to show whether the pixels should be coalesced
hits_t & operator()(const Frame &frame, pixels_t &pixels, hits_t &hits)
coalesce the pixels
void loadSettings(CASSSettings &s)
load the settings of this
A Frame of an advance Pixel Detector.