source: trunk/MagicSoft/Mars/msignal/MExtractPINDiode.h@ 4983

Last change on this file since 4983 was 3962, checked in by gaug, 20 years ago
*** empty log message ***
File size: 2.0 KB
Line 
1#ifndef MARS_MExtractPINDiode
2#define MARS_MExtractPINDiode
3
4/////////////////////////////////////////////////////////////////////////////
5// //
6// MExtractPINDiode //
7// //
8// Integrates the time slices of the all pixels of a calibration event //
9// and substract the pedestal value //
10// //
11/////////////////////////////////////////////////////////////////////////////
12
13#ifndef MARS_MExtractor
14#include "MExtractor.h"
15#endif
16
17class MExtractedSignalPINDiode;
18class MExtractPINDiode : public MExtractor
19{
20private:
21
22 static const UInt_t fgPINDiodeIdx;
23 static const Byte_t fgHiGainFirst; // First FADC slice Hi-Gain (currently set to: 3)
24 static const Byte_t fgHiGainLast; // Last FADC slice Hi-Gain (currently set to: 14)
25 static const Byte_t fgLoGainFirst; // First FADC slice Lo-Gain (currently set to: 3)
26 static const Byte_t fgLoGainLast; // Last FADC slice Lo-Gain (currently set to: 14)
27
28 MExtractedSignalPINDiode *fPINDiode; // Extracted signal of the PIN Diode
29
30 UInt_t fPINDiodeIdx;
31 Float_t fPedestal;
32 Float_t fPedRms;
33 Int_t fNumSamples;
34 Float_t fSqrtSamples;
35
36 void FindSignalandVarianceHiGain(Byte_t *ptr, Int_t &sum, Int_t &sum2, Byte_t &sat) const;
37 void FindSignalandVarianceLoGain(Byte_t *ptr, Int_t &sum, Int_t &sum2, Byte_t &sat) const;
38
39 Int_t PreProcess(MParList *pList);
40 Bool_t ReInit(MParList *pList);
41 Int_t Process();
42
43public:
44
45 MExtractPINDiode(const char *name=NULL, const char *title=NULL);
46
47 // Setters
48 void SetRange(Byte_t hifirst=0, Byte_t hilast=0, Byte_t lofirst=0, Byte_t lolast=0);
49 void SetPINDiodeIdx( const UInt_t idx=fgPINDiodeIdx ) { fPINDiodeIdx = idx; }
50
51 ClassDef(MExtractPINDiode, 0) // Signal Extractor for the PIN Diode
52};
53
54#endif
Note: See TracBrowser for help on using the repository browser.