source: tags/Mars-V0.8.4/msignal/MExtractPINDiode.h

Last change on this file was 3322, checked in by gaug, 21 years ago
*** empty log message ***
File size: 2.1 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_MTask
14#include "MTask.h"
15#endif
16
17class MRawEvtData;
18class MRawRunHeader;
19
20class MPedestalCam;
21class MExtractedSignalPINDiode;
22class MExtractPINDiode : public MTask
23{
24private:
25
26 static const UInt_t fgPINDiodeIdx;
27 static const Byte_t fgSaturationLimit;
28 static const Byte_t fgFirst;
29 static const Byte_t fgLast;
30
31 MPedestalCam *fPedestals; // Pedestals of all pixels in the camera
32 MExtractedSignalPINDiode *fPINDiode; // Extracted signal of the PIN Diode
33
34 MRawEvtData *fRawEvt; // raw event data (time slices)
35 MRawRunHeader *fRunHeader; // RunHeader information
36
37 Byte_t fFirst;
38 Byte_t fLast;
39 Byte_t fNumSamples;
40 Float_t fSqrtSamples;
41 Byte_t fSaturationLimit;
42 UInt_t fPINDiodeIdx;
43
44 Float_t fPedestal;
45 Float_t fPedRms;
46
47 void FindSignal(Byte_t *ptr, Int_t size, UInt_t &sum, UInt_t &sum2, UInt_t &sat, UInt_t &max) const;
48
49 Int_t PreProcess(MParList *pList);
50 Int_t Process();
51 void StreamPrimitive(ofstream &out) const;
52
53public:
54
55 MExtractPINDiode(const char *name=NULL, const char *title=NULL);
56
57 // Setters
58 void SetRange(const Byte_t hifirst=fgFirst,
59 const Byte_t hilast=fgLast);
60 void SetSaturationLimit(const Byte_t lim=fgSaturationLimit) { fSaturationLimit = lim; }
61 void SetPINDiodeIdx( const UInt_t idx=fgPINDiodeIdx ) { fPINDiodeIdx = idx; }
62
63 ClassDef(MExtractPINDiode, 0) // Task to fill the Extracted PINDiode Containers from raw data
64};
65
66#endif
Note: See TracBrowser for help on using the repository browser.