| 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 |  | 
|---|
| 24 | MArrayF fSignal;    //! Temporary storage for signal | 
|---|
| 25 | MArrayF fX;         //! Temporary storage for pixels X-position | 
|---|
| 26 | MArrayF fY;         //! Temporary storage for pixels Y-position | 
|---|
| 27 |  | 
|---|
| 28 | static void fcn(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag); | 
|---|
| 29 | Double_t Fcn(Double_t *par) const; | 
|---|
| 30 |  | 
|---|
| 31 | public: | 
|---|
| 32 | MMuonSearchPar(const char *name=NULL, const char *title=NULL); | 
|---|
| 33 |  | 
|---|
| 34 | // MParContainer | 
|---|
| 35 | void Reset(); | 
|---|
| 36 |  | 
|---|
| 37 | // Getter | 
|---|
| 38 | Float_t GetRadius()    const { return fRadius; } | 
|---|
| 39 | Float_t GetDeviation() const { return fDeviation; } | 
|---|
| 40 | Float_t GetCenterX()   const { return fCenterX; } | 
|---|
| 41 | Float_t GetCenterY()   const { return fCenterY; } | 
|---|
| 42 |  | 
|---|
| 43 | // MMuonSearchPar | 
|---|
| 44 | void   CalcMinimumDeviation(const MGeomCam &geom, const MSignalCam &evt, | 
|---|
| 45 | Double_t &x, Double_t &y, Double_t &sigma, Double_t &rad); | 
|---|
| 46 |  | 
|---|
| 47 | void   Calc(const MGeomCam &geom, const MSignalCam &evt, | 
|---|
| 48 | const MHillas &hillas); | 
|---|
| 49 |  | 
|---|
| 50 | // TObject | 
|---|
| 51 | void   Paint(Option_t *opt=""); | 
|---|
| 52 | void   Print(Option_t *opt=NULL) const; | 
|---|
| 53 | void   Print(const MGeomCam &geom, Option_t *opt=NULL) const; | 
|---|
| 54 |  | 
|---|
| 55 | ClassDef(MMuonSearchPar, 1) // Container to hold muon search parameters | 
|---|
| 56 | }; | 
|---|
| 57 |  | 
|---|
| 58 | #endif | 
|---|