| 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;
|
|---|
| 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
|
|---|