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

Last change on this file since 6724 was 6489, checked in by tbretz, 20 years ago
*** empty log message ***
File size: 2.6 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 MCerPhotPix;
11class MCerPhotEvt;
12class MPedPhotCam;
13class MArrivalTime;
14class MCameraData;
15
16class MGGroupFrame;
17
18class MImgCleanStd : public MGTask
19{
20public:
21 typedef enum {
22 kStandard,
23 kScaled,
24 kDemocratic,
25 kProbability,
26 kAbsolute
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 gsNameCerPhotEvt; // default name of the 'MCerPhotEvt' container
33
34 const MGeomCam *fCam; //!
35 MCerPhotEvt *fEvt; //!
36 MPedPhotCam *fPed; //!
37 MArrivalTime *fTime; //!
38 MCameraData *fData; //!
39
40 CleaningMethod_t fCleaningMethod;
41
42 Float_t fCleanLvl1;
43 Float_t fCleanLvl2;
44
45 UShort_t fCleanRings;
46 Bool_t fKeepSinglePixels;
47
48 TString fNamePedPhotCam; // name of the 'MPedPhotCam' container
49 TString fNameGeomCam; // name of the 'MGeomCam' container
50 TString fNameCerPhotEvt; // name of the 'MCerPhotEvt' container
51
52 // MImgCleanStd
53 void CleanStep1();
54 Short_t CleanStep2(Float_t &size);
55 void CleanStep3();
56 void CleanStep3b(MCerPhotPix &pix);
57 void CleanStep4(UShort_t r, MCerPhotPix &pix);
58
59 // MGTask, MTask, MParContainer
60 void CreateGuiElements(MGGroupFrame *f);
61 void StreamPrimitive(ofstream &out) const;
62 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
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 SetNameCerPhotEvt(const char *name) { fNameCerPhotEvt = 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.