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

Last change on this file since 7764 was 7611, checked in by snruegam, 19 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 void StreamPrimitive(ofstream &out) const;
61 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
62
63 Int_t PreProcess(MParList *pList);
64 Int_t Process();
65
66public:
67 MImgCleanStd(const Float_t lvl1=3.0, const Float_t lvl2=2.5,
68 const char *name=NULL, const char *title=NULL);
69 void Print(Option_t *o="") const;
70
71 Float_t GetCleanLvl1() const { return fCleanLvl1; }
72 Float_t GetCleanLvl2() const { return fCleanLvl2; }
73 UShort_t GetCleanRings() const { return fCleanRings;}
74
75 void SetCleanRings(UShort_t r) { if(r==0) r=1; fCleanRings=r; }
76 void SetMethod(CleaningMethod_t m) { fCleaningMethod = m; }
77 void SetKeepSinglePixels(Bool_t b=kTRUE) { fKeepSinglePixels=b; }
78
79 Bool_t ProcessMessage(Int_t msg, Int_t submsg, Long_t param1, Long_t param2);
80
81 void SetNamePedPhotCam(const char *name) { fNamePedPhotCam = name; }
82 void SetNameSignalCam(const char *name) { fNameSignalCam = name; }
83 void SetNameGeomCam(const char *name) { fNameGeomCam = name; }
84
85 ClassDef(MImgCleanStd, 3) // task doing the image cleaning
86};
87
88#endif
Note: See TracBrowser for help on using the repository browser.