1 | #ifndef MARS_MMuonSearchPar
|
---|
2 | #define MARS_MMuonSearchPar
|
---|
3 |
|
---|
4 | #ifndef MARS_MParContainer
|
---|
5 | #include "MParContainer.h"
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | #ifndef MARS_MArrayF
|
---|
9 | #include "MArrayF.h"
|
---|
10 | #endif
|
---|
11 |
|
---|
12 | class MHillas;
|
---|
13 | class MGeomCam;
|
---|
14 | class MSignalCam;
|
---|
15 |
|
---|
16 | class MMuonSearchPar : public MParContainer
|
---|
17 | {
|
---|
18 | private:
|
---|
19 | Float_t fRadius; // An estimated radius of the muon ring [mm]
|
---|
20 | Float_t fDeviation; // The standard deviation from the estimated ring [mm]
|
---|
21 | Float_t fCenterX; // An estimated center position in X of the muon ring [mm]
|
---|
22 | Float_t fCenterY; // An estimated center position in Y of the muon ring [mm]
|
---|
23 | Float_t fTime; // Mean arrival time of core pixels
|
---|
24 | Float_t fTimeRms; // Rms of arrival time of core pixels
|
---|
25 |
|
---|
26 | MArrayF fSignal; //! Temporary storage for signal
|
---|
27 | MArrayF fX; //! Temporary storage for pixels X-position
|
---|
28 | MArrayF fY; //! Temporary storage for pixels Y-position
|
---|
29 |
|
---|
30 | static void fcn(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag);
|
---|
31 | Double_t Fcn(Double_t *par) const;
|
---|
32 |
|
---|
33 | public:
|
---|
34 | MMuonSearchPar(const char *name=NULL, const char *title=NULL);
|
---|
35 |
|
---|
36 | // MParContainer
|
---|
37 | void Reset();
|
---|
38 |
|
---|
39 | // Getter
|
---|
40 | Float_t GetRadius() const { return fRadius; }
|
---|
41 | Float_t GetDeviation() const { return fDeviation; }
|
---|
42 | Float_t GetCenterX() const { return fCenterX; }
|
---|
43 | Float_t GetCenterY() const { return fCenterY; }
|
---|
44 | Float_t GetDist() const { return TMath::Hypot(fCenterX, fCenterY); }
|
---|
45 | Float_t GetTime() const { return fTime; }
|
---|
46 | Float_t GetTimeRms() const { return fTimeRms; }
|
---|
47 |
|
---|
48 | // MMuonSearchPar
|
---|
49 | void CalcMinimumDeviation(const MGeomCam &geom, const MSignalCam &evt,
|
---|
50 | Double_t &x, Double_t &y, Double_t &sigma, Double_t &rad);
|
---|
51 |
|
---|
52 | void Calc(const MGeomCam &geom, const MSignalCam &evt,
|
---|
53 | const MHillas &hillas);
|
---|
54 |
|
---|
55 | // TObject
|
---|
56 | void Paint(Option_t *opt="");
|
---|
57 | void Print(Option_t *opt=NULL) const;
|
---|
58 | void Print(const MGeomCam &geom, Option_t *opt=NULL) const;
|
---|
59 |
|
---|
60 | ClassDef(MMuonSearchPar, 2) // Container to hold muon search parameters
|
---|
61 | };
|
---|
62 |
|
---|
63 | #endif
|
---|