source: trunk/MagicSoft/Mars/mimage/MImgCleanStd.h@ 8104

Last change on this file since 8104 was 7804, checked in by tbretz, 18 years ago
*** empty log message ***
File size: 2.5 KB
Line 
1#ifndef MARS_MImgCleanStd
2#define MARS_MImgCleanStd
3
4#ifndef MARS_MGTask
5#include "MGTask.h"
6#endif
7
8class MGeomCam;
9class MSigmabar;
10class MSignalCam;
11class MPedPhotCam;
12class MArrivalTime;
13class MCameraData;
14
15class MGGroupFrame;
16
17class MImgCleanStd : public MGTask
18{
19public:
20 typedef enum {
21 kStandard,
22 kScaled,
23 kDemocratic,
24 kProbability,
25 kAbsolute,
26 kTime,
27 } CleaningMethod_t;
28
29private:
30 static const TString gsNamePedPhotCam; // default name of the 'MPedPhotCam' container
31 static const TString gsNameGeomCam; // default name of the 'MGeomCam' container
32 static const TString gsNameSignalCam; // default name of the 'MSignalCam' container
33
34 const MGeomCam *fCam; //!
35 MSignalCam *fEvt; //!
36 MPedPhotCam *fPed; //!
37 MCameraData *fData; //!
38
39 CleaningMethod_t fCleaningMethod;
40
41 Float_t fCleanLvl1;
42 Float_t fCleanLvl2;
43
44 UShort_t fCleanRings;
45 Bool_t fKeepSinglePixels;
46
47 TString fNamePedPhotCam; // name of the 'MPedPhotCam' container
48 TString fNameGeomCam; // name of the 'MGeomCam' container
49 TString fNameSignalCam; // name of the 'MSignalCam' container
50
51 // MImgCleanStd
52 void CleanStep1();
53 Short_t CleanStep2(Float_t &size);
54 void CleanStep3();
55 void CleanStep3b(Int_t idx);
56 void CleanStep4(UShort_t r, Int_t idx);
57
58 // MGTask, MTask, MParContainer
59 void CreateGuiElements(MGGroupFrame *f);
60 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
61
62 void StreamPrimitive(ostream &out) const;
63
64 Int_t PreProcess(MParList *pList);
65 Int_t Process();
66
67public:
68 MImgCleanStd(const Float_t lvl1=3.0, const Float_t lvl2=2.5,
69 const char *name=NULL, const char *title=NULL);
70 void Print(Option_t *o="") const;
71
72 Float_t GetCleanLvl1() const { return fCleanLvl1; }
73 Float_t GetCleanLvl2() const { return fCleanLvl2; }
74 UShort_t GetCleanRings() const { return fCleanRings;}
75
76 void SetCleanRings(UShort_t r) { if(r==0) r=1; fCleanRings=r; }
77 void SetMethod(CleaningMethod_t m) { fCleaningMethod = m; }
78 void SetKeepSinglePixels(Bool_t b=kTRUE) { fKeepSinglePixels=b; }
79
80 Bool_t ProcessMessage(Int_t msg, Int_t submsg, Long_t param1, Long_t param2);
81
82 void SetNamePedPhotCam(const char *name) { fNamePedPhotCam = name; }
83 void SetNameSignalCam(const char *name) { fNameSignalCam = name; }
84 void SetNameGeomCam(const char *name) { fNameGeomCam = name; }
85
86 ClassDef(MImgCleanStd, 3) // task doing the image cleaning
87};
88
89#endif
Note: See TracBrowser for help on using the repository browser.