source: trunk/MagicSoft/Mars/manalysis/MCT1SupercutsCalc.h@ 2247

Last change on this file since 2247 was 2225, checked in by tbretz, 22 years ago
*** empty log message ***
File size: 2.9 KB
Line 
1#ifndef MARS_MCT1SupercutsCalc
2#define MARS_MCT1SupercutsCalc
3
4#ifndef MARS_MFilter
5#include "MFilter.h"
6#endif
7
8#ifndef ROOT_TArrayD
9#include <TArrayD.h>
10#endif
11
12class MParList;
13class MHillas;
14class MHillasSrc;
15class MMcEvt;
16class MCerPhotEvt;
17class MGeomCam;
18class MHadronness;
19class MHMatrix;
20
21
22class MCT1SupercutsCalc : public MTask
23{
24private:
25 MHillas *fHil;
26 MHillasSrc *fHilSrc;
27 MMcEvt *fMcEvt;
28 MHadronness *fHadronness; //! output container for hadronness
29
30 TString fHadronnessName; // name of container to store hadronness
31 TString fHilName;
32 TString fHilSrcName;
33
34 Double_t fMm2Deg;
35
36 Int_t fMap[7];
37 MHMatrix *fMatrix;
38
39 //---------------------------------
40 // cut parameters
41 TArrayD fLengthUp;
42 TArrayD fLengthLo;
43 TArrayD fWidthUp;
44 TArrayD fWidthLo;
45 TArrayD fDistUp;
46 TArrayD fDistLo;
47 TArrayD fAsymUp;
48 TArrayD fAsymLo;
49 TArrayD fAlphaUp;
50 //---------------------------------
51
52 void InitParams();
53
54 Int_t PreProcess(MParList *pList);
55 Int_t Process();
56
57 void Set(TArrayD &a, const TArrayD &b) { if (a.GetSize()==b.GetSize()) a=b; }
58 Double_t GetVal(Int_t i) const;
59
60 Double_t CtsMCut(
61#if ROOT_VERSION_CODE > ROOT_VERSION(3,05,00)
62const
63#endif
64 TArrayD &a, Double_t ls, Double_t ct,
65 Double_t ls2, Double_t dd2);
66
67public:
68 MCT1SupercutsCalc(const char *hilname="MHillas",
69 const char *hilsrcname="MHillasSrc",
70 const char *name=NULL, const char *title=NULL);
71
72 void SetHadronnessName(const TString name) { fHadronnessName = name; }
73 TString GetHadronnessName() const { return fHadronnessName; }
74
75 void InitMapping(MHMatrix *mat);
76 void StopMapping() { InitMapping(NULL); }
77
78 void SetLengthUp(const TArrayD &d) { Set(fLengthUp, d); }
79 void SetLengthLo(const TArrayD &d) { Set(fLengthLo, d); }
80 void SetWidthUp (const TArrayD &d) { Set(fWidthUp, d); }
81 void SetWidthLo (const TArrayD &d) { Set(fWidthLo, d); }
82 void SetDistUp (const TArrayD &d) { Set(fDistUp, d); }
83 void SetDistLo (const TArrayD &d) { Set(fDistLo, d); }
84 void SetAsymUp (const TArrayD &d) { Set(fAsymUp, d); }
85 void SetAsymLo (const TArrayD &d) { Set(fAsymLo, d); }
86 void SetAlphaUp (const TArrayD &d) { Set(fAlphaUp, d); }
87
88 const TArrayD &GetLengthUp() const { return fLengthUp; }
89 const TArrayD &GetLengthLo() const { return fLengthLo; }
90 const TArrayD &GetWidthUp() const { return fWidthUp; }
91 const TArrayD &GetWithLo() const { return fWidthLo; }
92 const TArrayD &GetDistUp() const { return fDistUp; }
93 const TArrayD &GetDistLo() const { return fDistLo; }
94 const TArrayD &GetAsymUp() const { return fAsymUp; }
95 const TArrayD &GetAsymLo() const { return fAsymLo; }
96 const TArrayD &GetAlphaUp() const { return fAlphaUp; }
97
98 ClassDef(MCT1SupercutsCalc, 0) // A class to evaluate the Supercuts
99};
100
101#endif
Note: See TracBrowser for help on using the repository browser.