source: trunk/MagicSoft/Mars/mtemp/mifae/library/MDispCalc.h@ 6186

Last change on this file since 6186 was 5922, checked in by domingo, 20 years ago
*** empty log message ***
File size: 3.2 KB
Line 
1#ifndef MARS_MDispCalc
2#define MARS_MDispCalc
3
4#ifndef MARS_MTask
5#include "MTask.h"
6#endif
7
8#ifndef ROOT_TArrayD
9#include <TArrayD.h>
10#endif
11
12#ifndef ROOT_TArrayI
13#include <TArrayI.h>
14#endif
15
16class MSrcPosCam;
17class MHillas;
18class MHillasExt;
19class MNewImagePar;
20class MMcEvt;
21class MPointingPos;
22class MImageParDisp;
23class MDispParameters;
24class MHMatrix;
25class MParList;
26
27class MDispCalc : public MTask
28{
29private:
30
31 MSrcPosCam *fSrcPos;
32 MHillas *fHil;
33 MHillasExt *fHilExt;
34 MNewImagePar *fNewPar;
35 MMcEvt *fMcEvt;
36 MPointingPos *fPointing;
37
38 MImageParDisp *fImageParDisp; //! output container for Disp value
39 MDispParameters *fDispParameters; //! container for Disp parameters
40
41 TString fImageParDispName; // name of container to store Disp
42 TString fDispParametersName; // name of container for Disp parameters
43
44 Double_t fLogSize0; // Variables introduced in the Disp expression
45 Double_t fLength0; // to shift the minimization around the mean
46 Double_t fWidth0; // values of the variables, so it makes easier
47 Double_t fConc0; // to MINUIT to converge. Default values are set
48 Double_t fLeakage10; // in the constructor (to their standard mean
49 Double_t fLeakage20; // distribution values) but can be changed with
50 // the corresponding set function.
51
52 Double_t fMm2Deg; // conversion factor from mm to deg
53
54 MHMatrix *fMatrix; // matrix defined to have as much columns as
55 // variables wanted to parameterize Disp,
56 // and as much rows as events used for the
57 // optimization (filled at MFindDisp)
58
59 TArrayI fMap; // array storing the matrix mapping column
60 // numbers corresponding to each variable
61 // added to fMatrix
62
63
64 Int_t PreProcess(MParList *pList);
65 Int_t Process();
66
67 Double_t GetVal(Int_t i) const; // get value of variable entered in the
68 // matrix at column fMap[i]
69
70
71public:
72
73 MDispCalc(const char *imagepardispname = "MImageParDisp",
74 const char *dispname = "MDisp",
75 const char *name=NULL, const char *title=NULL);
76 ~MDispCalc();
77
78 void InitMapping(MHMatrix *mat); // define the matrix of variables
79 // needed for the Disp parameterization
80
81 Double_t Calc(TArrayD &imagevar); // calculate Disp with a given expression
82
83 void SetLogSize0(Double_t newmeanval) { fLogSize0 = newmeanval; }
84 void SetWidth0(Double_t newmeanval) { fWidth0 = newmeanval; }
85 void SetLength0(Double_t newmeanval) { fLength0 = newmeanval; }
86 void SetConc0(Double_t newmeanval) { fConc0 = newmeanval; }
87 void SetLeakage10(Double_t newmeanval) { fLeakage10 = newmeanval; }
88 void SetLeakage20(Double_t newmeanval) { fLeakage20 = newmeanval; }
89
90 MDispParameters *GetDispParameters() { return fDispParameters; }
91
92 ClassDef(MDispCalc, 0) // Task to evaluate Disp
93};
94
95#endif
96
97
98
99
100
101
102
103
104
105
106
107
Note: See TracBrowser for help on using the repository browser.