#ifndef __JACOUSTICS__JFITPARAMETERS__ #define __JACOUSTICS__JFITPARAMETERS__ #include #include #include #include #include #include #include "JFit/JMEstimator.hh" /** * \file * * Acoustic fit parameters. * \author mdejong */ namespace JACOUSTICS {} namespace JPP { using namespace JACOUSTICS; } namespace JACOUSTICS { using JFIT::EM_NORMAL; using JFIT::EM_LORENTZIAN; using JFIT::EM_LINEAR; using JFIT::EM_NULL; /** * Fit parameters. */ struct JFitParameters : public TObject { /** * Default constructor. */ JFitParameters() : Qmin (0.0), mestimator(EM_LINEAR), sigma_s (50.0e-6), Tmax_s (600.0), Nmin (3), stdev (5.0), option (1), chi2perNDF(std::numeric_limits::max()) {} /** * Virtual destructor. */ virtual ~JFitParameters() {} ClassDef(JFitParameters, 3); double Qmin; ///< minimal quality transmission int mestimator; ///< M-estimator double sigma_s; ///< time-of-arrival resolution [s] double Tmax_s; ///< time window to combine events [s] size_t Nmin; ///< minimum number of emitters double stdev; ///< standard deviation for outlier removal int option; ///< fit option double chi2perNDF; ///< maximal chi2/NDF to store event }; } /** * Read parameters from input stream. * * \param in input stream * \param parameters parameters * \return input stream */ std::istream& operator>>(std::istream& in, JACOUSTICS::JFitParameters& parameters); /** * Write parameters to output stream. * * \param out output stream * \param parameters parameters * \return output stream */ std::ostream& operator<<(std::ostream& out, const JACOUSTICS::JFitParameters& parameters); #endif