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

Last change on this file since 7551 was 6855, checked in by tbretz, 20 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 } CleaningMethod_t;
27
28private:
29 static const TString gsNamePedPhotCam; // default name of the 'MPedPhotCam' container
30 static const TString gsNameGeomCam; // default name of the 'MGeomCam' container
31 static const TString gsNameSignalCam; // default name of the 'MSignalCam' container
32
33 const MGeomCam *fCam; //!
34 MSignalCam *fEvt; //!
35 MPedPhotCam *fPed; //!
36 MCameraData *fData; //!
37
38 CleaningMethod_t fCleaningMethod;
39
40 Float_t fCleanLvl1;
41 Float_t fCleanLvl2;
42
43 UShort_t fCleanRings;
44 Bool_t fKeepSinglePixels;
45
46 TString fNamePedPhotCam; // name of the 'MPedPhotCam' container
47 TString fNameGeomCam; // name of the 'MGeomCam' container
48 TString fNameSignalCam; // name of the 'MSignalCam' container
49
50 // MImgCleanStd
51 void CleanStep1();
52 Short_t CleanStep2(Float_t &size);
53 void CleanStep3();
54 void CleanStep3b(Int_t idx);
55 void CleanStep4(UShort_t r, Int_t idx);
56
57 // MGTask, MTask, MParContainer
58 void CreateGuiElements(MGGroupFrame *f);
59 void StreamPrimitive(ofstream &out) const;
60 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
61
62 Int_t PreProcess(MParList *pList);
63 Int_t Process();
64
65public:
66 MImgCleanStd(const Float_t lvl1=3.0, const Float_t lvl2=2.5,
67 const char *name=NULL, const char *title=NULL);
68 void Print(Option_t *o="") const;
69
70 Float_t GetCleanLvl1() const { return fCleanLvl1; }
71 Float_t GetCleanLvl2() const { return fCleanLvl2; }
72 UShort_t GetCleanRings() const { return fCleanRings;}
73
74 void SetCleanRings(UShort_t r) { if(r==0) r=1; fCleanRings=r; }
75 void SetMethod(CleaningMethod_t m) { fCleaningMethod = m; }
76 void SetKeepSinglePixels(Bool_t b=kTRUE) { fKeepSinglePixels=b; }
77
78 Bool_t ProcessMessage(Int_t msg, Int_t submsg, Long_t param1, Long_t param2);
79
80 void SetNamePedPhotCam(const char *name) { fNamePedPhotCam = name; }
81 void SetNameSignalCam(const char *name) { fNameSignalCam = name; }
82 void SetNameGeomCam(const char *name) { fNameGeomCam = name; }
83
84 ClassDef(MImgCleanStd, 3) // task doing the image cleaning
85};
86
87#endif
Note: See TracBrowser for help on using the repository browser.