CFEL - ASG Software Suite  2.5.0
CASS
pixel_detectors.h
Go to the documentation of this file.
1 // Copyright (C) 2011 Lutz Foucar
2 
3 /** @file pixel_detectors.h contains processor dealing with more advanced
4  * pixel detectors.
5  *
6  * @author Lutz Foucar
7  */
8 
9 #ifndef _PIXEL_DETECTORS_H_
10 #define _PIXEL_DETECTORS_H_
11 
12 #include <tr1/functional>
13 
14 #include "processor.h"
15 #include "cass_event.h"
16 #include "pixel_detector_helper.h"
17 #include "pixeldetector.hpp"
18 #include "advanced_pixeldetector.h"
19 
20 
21 namespace cass
22 {
23 /** Pixeldetector image.
24  *
25  * @PPList "105": display the image from a pixeldetector defined
26  *
27  * processor will get the frame of the requested pixeldetector.
28  *
29  * @see Processor for a list of all commonly available cass.ini
30  * settings.
31  *
32  * @cassttng Processor/\%name\%/{Detector}\n
33  * Name of the Detector that one is interested in. Default "blubb"
34  * See cass::pixeldetector::DetectorHelper for infos how to set up that
35  * detector.
36  *
37  * @author Lutz Foucar
38  */
39 class pp105 : public Processor
40 {
41 public:
42  /** constructor */
43  pp105(const name_t &name);
44 
45  /** copy image from CASS event to histogram storage
46  *
47  * @throws invalid_argument if user provided size is incorrect
48  */
49  virtual void process(const CASSEvent&, result_t&);
50 
51  /** load the settings for this pp */
52  virtual void loadSettings(size_t);
53 
54 protected:
55  /** detector to work on */
56  pixeldetector::DetectorHelper::instancesmap_t::key_type _detector;
57 };
58 
59 
60 
61 
62 
63 
64 
65 /** display the maps
66  *
67  * @PPList "107": display the correction maps
68  *
69  * Will display the maps that are used the processing units to process the
70  * frame and detect the pixels of interest.
71  *
72  * @see Processor for a list of all commonly available cass.ini
73  * settings.
74  *
75  * @cassttng Processor/\%name\%/{Detector}\n
76  * Name of the Detector that one is interested in. Default "blubb"
77  * See cass::pixeldetector::DetectorHelper for infos how to set up that
78  * detector.
79  * @cassttng Processor/\%name\%/{MapType}\n
80  * the type of the map that should be displayed. See
81  * cass::pixeldetector::CommonData for details. Default is "offset".
82  * Possible values are:
83  * - "offset": The offset map
84  * - "noise": The noise map
85  * - "gain_cte": The map containing cte and gain values
86  * - "correction": The map containing the correction values used for
87  * processing.
88  *
89  * @author Lutz Foucar
90  */
91 class pp107 : public Processor
92 {
93 public:
94  /** constructor */
95  pp107(const name_t &name);
96 
97  /** copy pixels from Map to histogram storage
98  *
99  * @throws invalid argument when the size of the maps have changed
100  */
101  virtual void process(const CASSEvent&, result_t&);
102 
103  /** set the histogram size */
104  virtual void loadSettings(size_t);
105 
106 protected:
107  /** detector to work on */
108  pixeldetector::DetectorHelper::instancesmap_t::key_type _detector;
109 
110  /** pointer to the map */
112 
113  /** the lock for locking the map */
115 };
116 
117 
118 
119 
120 /** Pixeldetector raw image.
121  *
122  * @PPList "109": extract raw pixel detector image
123  *
124  * processor will get the untreated frame directly from the cassevent
125  *
126  * @see Processor for a list of all commonly available cass.ini
127  * settings.
128  *
129  * @cassttng Processor/\%name\%/{CASSID}\n
130  * The CASS ID of the detector device that one wants to extract. One
131  * can set up which CASS ID the detector has in the converter part.
132  * @cassttng Processor/\%name\%/{nRows}\n
133  * The number of rows of the device (only needed when value cannot be
134  * determined from the name of the Processor)
135  * @cassttng Processor/\%name\%/{nCols}\n
136  * The number of columns of the device (only needed when value cannot
137  * be determined from the name of the Processor)
138  *
139  * @author Lutz Foucar
140  */
141 class pp109 : public Processor
142 {
143 public:
144  /** constructor */
145  pp109(const name_t &name);
146 
147  /** copy image from CASS event to histogram storage
148  *
149  * @throws invalid_argument if user provided size is incorrect
150  */
151  virtual void process(const CASSEvent&, result_t&);
152 
153  /** load the settings for this pp */
154  virtual void loadSettings(size_t);
155 
156 protected:
157  /** detector to work on */
158  pixeldetector::Device::detectors_t::key_type _detector;
159 };
160 
161 
162 
163 
164 
165 
166 
167 /** coalesced pixels (hits) on a pixeldetector.
168  *
169  * @PPList "144": display the coalesced pixels identified from a pixel detector
170  *
171  * This processor will fill a 2D histogram with the coalesced hits on a
172  * pixeldetector. See cass::pixeldetector::AdvancedDetector for the options
173  * availalbe to coalesce the detected hits on the pixeldetectors.
174  *
175  * @see Processor for a list of all commonly available cass.ini
176  * settings.
177  *
178  * @cassttng Processor/\%name\%/{XNbrBins|XLow|XUp|YNbrBins|YLow|YUp}\n
179  * properties of the 2d histogram
180  * @cassttng Processor/\%name\%/{Detector}\n
181  * Name of the Detector that one is interested in. Default "blubb"
182  * See cass::pixeldetector::DetectorHelper for infos how to set up that
183  * detector.
184  * @cassttng Processor/\%name\%/{SpectralLowerLimit|SpectralUpperLimit}\n
185  * The range of the z value of the pixel. Only when the pixel is in
186  * this range the pixel will be drawn. Default is 0.0|0.0
187  * @cassttng Processor/\%name\%/{SplitLevelUpperLimit|SplitLevelLowerLimit}\n
188  * The range of the Splitlevel of the photon hit. Splitlevel tells
189  * how many pixels contributed to the photonhit. Both limits are
190  * exclusive. IE: to only see a splitlevel of 1 (single pixel
191  * contributed to the photon hit) lower limit needs to be 0 and
192  * upper limit needs to be 2. Default is 0|2
193  * @cassttng Processor/\%name\%/{PixelvalueAsWeight}\n
194  * When filling the 2D histogram one can select whether for each hit
195  * the z value should be added on the coordinate or a constant. If
196  * true the z value will be used. If false the coordinate will be
197  * increased by 1. Default is true.
198  * @cassttng Processor/\%name\%/{BaseValue}\n
199  * Value of the pixels that are not set. Default is 0
200  *
201  * @author Lutz Foucar
202  */
203 class pp144 : public Processor
204 {
205 public:
206  /** constructor */
207  pp144(const name_t &name);
208 
209  /** copy pixels from CASS event to histogram storage */
210  virtual void process(const CASSEvent&, result_t&);
211 
212  /** set the histogram size */
213  virtual void loadSettings(size_t);
214 
215 protected:
216  /** detector to work on */
217  pixeldetector::DetectorHelper::instancesmap_t::key_type _detector;
218 
219  /** gate on the z */
220  std::pair<float,float> _range;
221 
222  /** gate on split level */
223  std::pair<size_t, size_t> _splitLevelRange;
224 
225  std::tr1::function<pixeldetector::Detector::frame_t::value_type(const pixeldetector::Hit&)> _getZ;
226 
227  /** value of the image where no pixel is set */
228  float _baseValue;
229 };
230 
231 
232 
233 
234 /** Number of coalesced pixels (hits) in a pixeldetector
235  *
236  * @PPList "145": shows the number of coalesced pixels
237  *
238  * This processor retrieve how many coalesced photonhits have been
239  * detected in a ccd frame.
240  *
241  * @see Processor for a list of all commonly available cass.ini
242  * settings.
243  *
244  * @cassttng Processor/\%name\%/{Detector}\n
245  * Name of the Detector that one is interested in. Default "blubb"
246  * See cass::pixeldetector::DetectorHelper for infos how to set up that
247  * detector.
248  *
249  * @author Lutz Foucar
250  */
251 class pp145 : public Processor
252 {
253 public:
254  /** constructor */
255  pp145(const name_t &name);
256 
257  /** copy pixels from CASS event to histogram storage */
258  virtual void process(const CASSEvent&, result_t&);
259 
260  /** set the histogram size */
261  virtual void loadSettings(size_t);
262 
263 protected:
264  /** detector to work on */
265  pixeldetector::DetectorHelper::instancesmap_t::key_type _detector;
266 };
267 
268 
269 
270 
271 /** split level of the colesced pixels (hits) of CCD's.
272  *
273  * @PPList "146": histogram of the split level of coalescing
274  *
275  * This processor creates a 1d histogram displaying what the split level
276  * of the photonhit was (how many pixels contributed to the photonhit). See
277  * cass::pixeldetector::AdvancedDetector for the options available to coalesce
278  * the detected hits on the pixeldetectors.
279  *
280  * @see Processor for a list of all commonly available cass.ini
281  * settings.
282  *
283  * @cassttng Processor/\%name\%/{Detector}\n
284  * Name of the Detector that one is interested in. Default "blubb"
285  * See cass::pixeldetector::DetectorHelper for infos how to set up that
286  * detector.
287  * @cassttng Processor/\%name\%/{XNbrBins|XLow|Xup}\n
288  * properties of the 1D histogram:
289  *
290  * @author Lutz Foucar
291  */
292 class pp146 : public Processor
293 {
294 public:
295  /** constructor */
296  pp146(const name_t &name);
297 
298  /** copy pixels from CASS event to histogram storage */
299  virtual void process(const CASSEvent&, result_t&);
300 
301  /** set the histogram size */
302  virtual void loadSettings(size_t);
303 
304 protected:
305  /** detector to work on */
306  pixeldetector::DetectorHelper::instancesmap_t::key_type _detector;
307 };
308 
309 
310 
311 
312 
313 
314 
315 
316 /** image of detected pixels in a pixeldetector.
317  *
318  * @PPList "148": display an image generated from the identified pixels
319  *
320  * This processor will fill a 2D histogram with the detected pixels in a
321  * pixeldetector. See cass::pixeldetector::AdvancedDetector for the options
322  * available identify pixels of interest.
323  *
324  * @see Processor for a list of all commonly available cass.ini
325  * settings.
326  *
327  * @cassttng Processor/\%name\%/{XNbrBins|XLow|XUp|YNbrBins|YLow|YUp}\n
328  * properties of the 2d histogram
329  * @cassttng Processor/\%name\%/{Detector}\n
330  * Name of the Detector that one is interested in. Default "blubb"
331  * See cass::pixeldetector::DetectorHelper for infos how to set up that
332  * detector.
333  * @cassttng Processor/\%name\%/{SpectralLowerLimit|SpectralUpperLimit}\n
334  * The range of the z value of the pixel. Only when the pixel is in
335  * this range the pixel will be drawn. Default is 0.0|0.0
336  * @cassttng Processor/\%name\%/{PixelvalueAsWeight}\n
337  * When filling the 2D histogram one can select whether for each hit
338  * the z value should be added on the coordinate or a constant. If
339  * true the z value will be used. If false the coordinate will be
340  * increased by 1. Default is true.
341  * @cassttng Processor/\%name\%/{BaseValue}\n
342  * Value of the pixels that are not set. Default is 0
343  *
344  * @author Lutz Foucar
345  */
346 class pp148 : public Processor
347 {
348 public:
349  /** constructor */
350  pp148(const name_t &name);
351 
352  /** copy pixels from CASS event to histogram storage */
353  virtual void process(const CASSEvent&, result_t&);
354 
355  /** set the histogram size */
356  virtual void loadSettings(size_t);
357 
358 protected:
359  /** detector to work on */
360  pixeldetector::DetectorHelper::instancesmap_t::key_type _detector;
361 
362  /** gate on the z */
363  std::pair<float,float> _range;
364 
365  /** function to retrieve the z value of the pixels */
366  std::tr1::function<pixeldetector::Detector::frame_t::value_type(const pixeldetector::Pixel&)> _getZ;
367 
368  /** value of the image where no pixel is set */
369  float _baseValue;
370 };
371 
372 
373 
374 
375 /** Number of detected pixels of an pixeldetector
376  *
377  * @PPList "149": the number of detected pixels in a pixeldetector
378  *
379  * This processor retrieve how many pixels have been detected in a
380  * pixeldetector frame. See cass::pixeldetector::AdvancedDetector for available
381  * options on how to detect pixels of interest.
382  *
383  * @see Processor for a list of all commonly available cass.ini
384  * settings.
385  *
386  * @cassttng Processor/\%name\%/{Detector}\n
387  * Name of the Detector that one is interested in. Default "blubb"
388  * See cass::pixeldetector::DetectorHelperHelper for infos how to set up that
389  * detector.
390  *
391  * @author Lutz Foucar
392  */
393 class pp149 : public Processor
394 {
395 public:
396  /** constructor */
397  pp149(const name_t &name);
398 
399  /** copy pixels from CASS event to histogram storage */
400  virtual void process(const CASSEvent&, result_t&);
401 
402  /** set the histogram size */
403  virtual void loadSettings(size_t);
404 
405 protected:
406  /** detector to work on */
407  pixeldetector::DetectorHelper::instancesmap_t::key_type _detector;
408 };
409 
410 
411 
412 
413 
414 
415 
416 /** decreased offset correction
417  *
418  * @PPList "241" correct the distorted offset in a pnCCD image
419  *
420  * modifies the incomming 2d histogram such that a wrong offset du to much charge
421  * on the pnCCD detector will be corrected.
422  *
423  * The correction is different for each quadrant. Basically one corrects a line
424  * with a linear slope. Therefore one determines how much the nominal offset at
425  * the edge of the detector has been disturbed. It should not be disturbed at
426  * all since these parts are shielded from the light. A distortion will therefore
427  * indicate how much these lines have been distorted.
428  *
429  * This processor will therefore first determine at the edge of the detector
430  * how much the offset has been distorted. Once this is know one can use a
431  * correction factor and substract this from the measured value. A pixels
432  * correction is therefore done like
433  *
434  * determine the averageOffsetAtEdge value and from that determine the slope for
435  * the quadrant. Then pixel values are calculated like this:
436  *
437  * cor_function_value = slope * column_number - averageOffsetAtEdge;
438  * final_corection = pix_raw_val - offset_from_darkcal - cor_function_value;
439  *
440  * Because the average offset at the edge of the detector might contain statisics
441  * outliers. One can includes the line above and below with less (user selectable)
442  * weight. If one chooses 0 weight that line will not be included in the
443  * calculation of the determination of the average offset value at the edge.
444  *
445  * The average offset at the edge of the first two and the last two rows will
446  * only be determined by the current row.
447  *
448  * @see Processor for a list of all commonly available cass.ini
449  * settings.
450  *
451  * @cassttng Processor/\%name\%/{ImageName} \n
452  * Name of Processor containing the distorted pnCCD image. Default
453  * is "".
454  * @cassttng Processor/\%name\%/{ThresholdQuadrantA} \n
455  * Threshold for the rows of quadrant A. If the averaged value is
456  * below this value the whole row of this quadrant is changed. Default
457  * is 0.
458  * @cassttng Processor/\%name\%/{ThresholdQuadrantB} \n
459  * Threshold for the rows of quadrant B. If the averaged value is
460  * below this value the whole row of this quadrant is changed. Default
461  * is 0.
462  * @cassttng Processor/\%name\%/{ThresholdQuadrantC} \n
463  * Threshold for the rows of quadrant A. If the averaged value is
464  * below this value the whole row of this quadrant is changed. Default
465  * is 0.
466  * @cassttng Processor/\%name\%/{ThresholdQuadrantD} \n
467  * Threshold for the rows of quadrant D. If the averaged value is
468  * below this value the whole row of this quadrant is changed. Default
469  * is 0.
470  * @cassttng Processor/\%name\%/{WeightAdjecentRow} \n
471  * How much will the row that is adjecent to the current row be weightd
472  * when calculating the average offset at the edge of the detector.
473  * Default is 0.75.
474  * @cassttng Processor/\%name\%/{WeightSecondNextRow} \n
475  * How much will the row that is the next over to the current row be
476  * weightd when calculating the average offset at the edge of the
477  * detector. Default is 0.5.
478  * @cassttng Processor/\%name\%/{MinimumRow} \n
479  * Define from which row the correction should be applied. Default is 0.
480  * @cassttng Processor/\%name\%/{MaximumRow} \n
481  * Define to which row the correction should be applied. Default is 1024.
482  *
483  * @author Lutz Foucar
484  */
485 class pp241 : public Processor
486 {
487 public:
488  /** constructor */
489  pp241(const name_t &);
490 
491  /** process event */
492  virtual void process(const CASSEvent&, result_t&);
493 
494  /** load the settings */
495  virtual void loadSettings(size_t);
496 
497 protected:
498  /** pp containing 2d histogram to work on */
500 
501  /** threshold for quadrant A */
502  float _thresholdA;
503 
504  /** threshold for quadrant A */
505  float _thresholdB;
506 
507  /** threshold for quadrant A */
508  float _thresholdC;
509 
510  /** threshold for quadrant A */
511  float _thresholdD;
512 
513  /** the weight of the row next to the current one */
515 
516  /** the weight of the row next over to the current one */
518 
519  /** the value by which one has to divide to get the right average value */
520  float _weightSum;
521 
522  /** the minimum row */
523  size_t _minRow;
524 
525  /** the maximum row */
526  size_t _maxRow;
527 };
528 
529 
530 
531 
532 
533 
534 
535 
536 /** process untreated frame with mask
537  *
538  * @PPList "242" same as pp105 but sets the masked pixels to a user defined value
539  *
540  * Copys the frame data and then sets all maked pixels in the 2d histogram to a
541  * predefined value
542  *
543  * @see Processor for a list of all commonly available cass.ini
544  * settings.
545  *
546  * @cassttng Processor/\%name\%/{Detector}\n
547  * Name of the Detector who's values should be masked
548  * @cassttng Processor/\%name\%/{Value}\n
549  * Value that should be assigned to pixels that should be masked
550  * Default is 0.
551  *
552  * @author Lutz Foucar
553  */
554 class pp242 : public Processor
555 {
556 public:
557  /** constructor */
558  pp242(const name_t &name);
559 
560  /** copy pixels from CASS event to histogram storage */
561  virtual void process(const CASSEvent&, result_t&);
562 
563  /** set the histogram size */
564  virtual void loadSettings(size_t);
565 
566 protected:
567  /** detector to work on */
568  pixeldetector::DetectorHelper::instancesmap_t::key_type _detector;
569 
570  /** pointer to the mask */
572 
573  /** the lock for locking the map */
575 
576  /** the value that the masked things should take */
577  float _value;
578 };
579 
580 
581 
582 
583 
584 
585 
586 
587 
588 /** apply mask to an image, set the masked pixel to a certain value
589  *
590  * @PPList "243" generate a copy of the incomming image and set masked pixels to
591  * a user defined value
592  *
593  * Copys the frame data and then sets all pixels that are 0 in the mask to a
594  * predefined value
595  *
596  * @see Processor for a list of all commonly available cass.ini
597  * settings.
598  *
599  * @cassttng Processor/\%name\%/{ImageName}\n
600  * Name of the Histogram that should be masked
601  * @cassttng Processor/\%name\%/{MaskName}\n
602  * The name of the Mask.
603  * @cassttng Processor/\%name\%/{Value}\n
604  * Value that should be assigned to pixels that should be masked
605  * Default is 0.
606  *
607  * @author Lutz Foucar
608  */
609 class pp243 : public Processor
610 {
611 public:
612  /** constructor */
613  pp243(const name_t &name);
614 
615  /** copy pixels from CASS event to histogram storage */
616  virtual void process(const CASSEvent&, result_t&);
617 
618  /** set the histogram size */
619  virtual void loadSettings(size_t);
620 
621 protected:
622  /** pp containing image that will be masked*/
624 
625  /** pp containing the mask to apply */
627 
628  /** the value that the masked things should take */
629  float _value;
630 };
631 
632 
633 
634 
635 
636 
637 /** generate a histogram for each pixel of the input 2d image
638  *
639  * @PPList "244" generate a histogram for each pixel of the input 2d image
640  *
641  * @see Processor for a list of all commonly available cass.ini
642  * settings.
643  *
644  * @cassttng Processor/\%name\%/{ImageName}\n
645  * Name of the Image whos pixels should be histogrammed
646  * @cassttng Processor/\%name\%/{XNbrBins|XLow|XUp|XTitle}\n
647  * properties of the 1D histogram generated for each Pixel.
648  * @cassttng Processor/\%name\%/{Weight}\n
649  * The value that will be added to the histogram. Default is 1
650  * @cassttng Processor/\%name\%/{MaskVal}\n
651  * The value that the masked pixels have in the image. Masked pixels
652  * will not be added to the histogram. Default is 0
653  * @cassttng Processor/\%name\%/{IsPnCCD}\n
654  * Combine the columns of the pnCCD to lower the memory used.
655  * Default is false. In case of pnCCD the channels of the quadrants
656  * will be displayed in rows 0 to 2047 and the rows, which indicate the
657  * cte will be dispyed in rows 2048 to 2559
658  *
659  * @author Lutz Foucar
660  */
661 class pp244 : public Processor
662 {
663 public:
664  /** constructor */
665  pp244(const name_t &name);
666 
667  /** copy pixels from CASS event to histogram storage */
668  virtual void process(const CASSEvent&, result_t&);
669 
670  /** set the histogram size */
671  virtual void loadSettings(size_t);
672 
673 protected:
674  /** pp containing image that will be masked*/
676 
677  /** the weight to fill the histogram with */
678  float _weight;
679 
680  /** the value of masked pixels */
681  float _maskval;
682 
683  /** flag to tell whether its an pnCCD */
684  bool _isPnCCD;
685 };
686 
687 
688 
689 
690 
691 
692 }//end namespace cass
693 #endif
pixeldetector::DetectorHelper::instancesmap_t::key_type _detector
detector to work on
virtual void process(const CASSEvent &, result_t &)
copy pixels from CASS event to histogram storage
virtual void process(const CASSEvent &, result_t &)
copy pixels from CASS event to histogram storage
apply mask to an image, set the masked pixel to a certain value
shared_pointer _hist
pp containing 2d histogram to work on
Event to store all LCLS Data.
Definition: cass_event.h:32
size_t _minRow
the minimum row
pp146(const name_t &name)
constructor
std::pair< float, float > _range
gate on the z
pixeldetector::DetectorHelper::instancesmap_t::key_type _detector
detector to work on
virtual void process(const CASSEvent &, result_t &)
copy image from CASS event to histogram storage
virtual void loadSettings(size_t)
set the histogram size
float _baseValue
value of the image where no pixel is set
image of detected pixels in a pixeldetector.
size_t _maxRow
the maximum row
bool _isPnCCD
flag to tell whether its an pnCCD
const name_t name() const
retrieve the name of this processor
Definition: processor.h:167
file contains declaration of the CASSEvent
virtual void process(const CASSEvent &, result_t &)
copy pixels from CASS event to histogram storage
pp244(const name_t &name)
constructor
pixeldetector::DetectorHelper::instancesmap_t::key_type _detector
detector to work on
pixeldetector::Device::detectors_t::key_type _detector
detector to work on
coalesced pixels (hits) on a pixeldetector.
generate a histogram for each pixel of the input 2d image
Pixeldetector raw image.
virtual void loadSettings(size_t)
load the settings for this pp
pp149(const name_t &name)
constructor
pixeldetector::DetectorHelper::instancesmap_t::key_type _detector
detector to work on
pp144(const name_t &name)
constructor
pixeldetector::DetectorHelper::instancesmap_t::key_type _detector
detector to work on
pp105(const name_t &name)
constructor
virtual void process(const CASSEvent &, result_t &)
copy pixels from CASS event to histogram storage
float _weight
the weight to fill the histogram with
pp145(const name_t &name)
constructor
float _thresholdC
threshold for quadrant A
float _weightSecondRow
the weight of the row next over to the current one
contains classes that extract and add information of pixel detectors.
std::pair< size_t, size_t > _splitLevelRange
gate on split level
Pixeldetector image.
base class for processors.
Definition: processor.h:39
pixeldetector::Detector::frame_t * _mask
pointer to the mask
virtual void loadSettings(size_t)
set the histogram size
Number of detected pixels of an pixeldetector.
virtual void loadSettings(size_t)
set the histogram size
virtual void loadSettings(size_t)
load the settings for this pp
virtual void loadSettings(size_t)
set the histogram size
float _weightSum
the value by which one has to divide to get the right average value
pp242(const name_t &name)
constructor
pp148(const name_t &name)
constructor
pp109(const name_t &name)
constructor
std::vector< pixel_t > frame_t
a frame is a vector of pixels
QReadWriteLock * _maskLock
the lock for locking the map
pp241(const name_t &)
constructor
pp243(const name_t &name)
constructor
Number of coalesced pixels (hits) in a pixeldetector.
pixeldetector::DetectorHelper::instancesmap_t::key_type _detector
detector to work on
pixeldetector::DetectorHelper::instancesmap_t::key_type _detector
detector to work on
file contains processors baseclass declaration
std::pair< float, float > _range
gate on the z
pixeldetector::Detector::frame_t * _map
pointer to the map
virtual void loadSettings(size_t)
set the histogram size
float _value
the value that the masked things should take
pp107(const name_t &name)
constructor
virtual void loadSettings(size_t)
set the histogram size
display the maps
float _thresholdB
threshold for quadrant A
float _thresholdA
threshold for quadrant A
decreased offset correction
virtual void process(const CASSEvent &, result_t &)
process event
virtual void loadSettings(size_t)
set the histogram size
contains container for simple pixel detector data
virtual void process(const CASSEvent &, result_t &)
copy pixels from CASS event to histogram storage
float _maskval
the value of masked pixels
float _value
the value that the masked things should take
QReadWriteLock * _mapLock
the lock for locking the map
virtual void process(const CASSEvent &, result_t &)
copy pixels from CASS event to histogram storage
split level of the colesced pixels (hits) of CCD's.
pixeldetector::DetectorHelper::instancesmap_t::key_type _detector
detector to work on
virtual void process(const CASSEvent &, result_t &)
copy image from CASS event to histogram storage
float _thresholdD
threshold for quadrant A
virtual void process(const CASSEvent &, result_t &)
copy pixels from CASS event to histogram storage
float _baseValue
value of the image where no pixel is set
advanced pixeldetectors
virtual void loadSettings(size_t)
load the settings
shared_pointer _mask
pp containing the mask to apply
std::string name_t
define the name type
Definition: processor.h:46
float _weightAdjectentRow
the weight of the row next to the current one
std::tr1::shared_ptr< Processor > shared_pointer
a shared pointer of this
Definition: processor.h:43
std::tr1::function< pixeldetector::Detector::frame_t::value_type(const pixeldetector::Hit &)> _getZ
shared_pointer _image
pp containing image that will be masked
shared_pointer _image
pp containing image that will be masked
virtual void loadSettings(size_t)
set the histogram size
virtual void process(const CASSEvent &, result_t &)
copy pixels from CASS event to histogram storage
process untreated frame with mask
virtual void process(const CASSEvent &, result_t &)
copy pixels from Map to histogram storage
virtual void loadSettings(size_t)
set the histogram size
std::tr1::function< pixeldetector::Detector::frame_t::value_type(const pixeldetector::Pixel &)> _getZ
function to retrieve the z value of the pixels