source: trunk/MagicSoft/Mars/mcalib/MExtractPINDiode.h@ 3173

Last change on this file since 3173 was 3171, checked in by gaug, 22 years ago
*** empty log message ***
File size: 1.9 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 fgPINDiodeId;
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
41 Float_t fSqrtSamples;
42
43 Byte_t fSaturationLimit;
44
45 void FindSignal(Byte_t *ptr, Int_t size, UInt_t &sum, UInt_t &sum2, UInt_t &sat, UInt_t &max) const;
46
47 Int_t PreProcess(MParList *pList);
48 Int_t Process();
49 void StreamPrimitive(ofstream &out) const;
50
51public:
52
53 MExtractPINDiode(const char *name=NULL, const char *title=NULL);
54
55 void SetRange(Byte_t hifirst=fgFirst, Byte_t hilast=fgLast);
56 void SetSaturationLimit(Byte_t lim) { fSaturationLimit = lim; }
57
58 ClassDef(MExtractPINDiode, 0) // Task to fill the Extracted PINDiode Containers from raw data
59};
60
61#endif
Note: See TracBrowser for help on using the repository browser.