source: trunk/MagicSoft/Mars/manalysis/MBlindPixelCalc.h@ 2946

Last change on this file since 2946 was 2502, checked in by tbretz, 21 years ago
*** empty log message ***
File size: 1.6 KB
Line 
1#ifndef MARS_MBlindPixelCalc
2#define MARS_MBlindPixelCalc
3
4#ifndef MARS_MTask
5#include "MTask.h"
6#endif
7
8#ifndef ROOT_TArrayS
9#include <TArrayS.h>
10#endif
11
12class MGeomCam;
13class MPedestal;
14class MCerPhotEvt;
15class MBlindPixels;
16class MPedestalCam;
17
18class MBlindPixelCalc : public MTask
19{
20private:
21 MCerPhotEvt *fEvt; //!
22 MBlindPixels *fPixels; //!
23 MGeomCam *fGeomCam; //!
24 MPedestalCam *fPed; //!
25
26 TArrayS fPixelsIdx; // Pixel Indices for blind pixels, which are entered by the user.
27
28 Byte_t fFlags; // flag for the method which is used
29
30 enum
31 {
32 kUseInterpolation = 1,
33 kUseCentralPixel = 2,
34 kUseBlindPixels = 3
35 };
36
37 static Double_t Sqr(Double_t x) { return x*x; }
38
39 void Interpolate() const;
40 void Unmap() const;
41 void StreamPrimitive(ofstream &out) const;
42
43 Int_t PreProcess(MParList *pList);
44 Int_t Process();
45
46public:
47 MBlindPixelCalc(const char *name=NULL, const char *title=NULL);
48
49 void SetUseInterpolation(Bool_t b=kTRUE)
50 {
51 b ? SETBIT(fFlags, kUseInterpolation) : CLRBIT(fFlags, kUseInterpolation);
52 }
53 void SetUseCentralPixel(Bool_t b=kTRUE)
54 {
55 b ? SETBIT(fFlags, kUseCentralPixel) : CLRBIT(fFlags, kUseCentralPixel);
56 }
57 void SetUseBlindPixels(Bool_t b=kTRUE)
58 {
59 b ? SETBIT(fFlags, kUseBlindPixels) : CLRBIT(fFlags, kUseBlindPixels);
60 }
61
62 void SetPixelIndices(const TArrayS &pix) { fPixelsIdx = pix; }
63 virtual Bool_t ReInit(MParList *pList);
64
65 ClassDef(MBlindPixelCalc, 1) // task to deal with hot spots (star, broken pixels, etc)
66};
67
68#endif
69
Note: See TracBrowser for help on using the repository browser.