#ifndef __JRECONSTRUCTION__JSHOWERPOINTSIMPLEXPARAMETERS__ #define __JRECONSTRUCTION__JSHOWERPOINTSIMPLEXPARAMETERS__ #include #include #include "JReconstruction/JRange_t.hh" #include "JFit/JMEstimator.hh" /** * \author adomi, vcarretero */ namespace JRECONSTRUCTION { struct JShowerPointSimplexParameters_t: public TObject { /** * Default constructor. */ JShowerPointSimplexParameters_t() { this->reset(); } /** * Virtual destructor. */ virtual ~JShowerPointSimplexParameters_t() {} /** * Reset fit parameters. */ void reset() { numberOfPrefits = 0; // 0 means process all inputs sigma_ns = 1; TMaxLocal_ns = 10; TMax_ns = 60.0; TMin_ns = -60.0; DMax_m = 50.0; ctMin = 0.2; mestimator = JFIT::EM_LORENTZIAN; NMax = 1000; } /** * Equality * * \param parameters fit parameters * \return true if equals; else false */ bool equals(const JShowerPointSimplexParameters_t& parameters) const { return (this->numberOfPrefits == parameters.numberOfPrefits && this->sigma_ns == parameters.sigma_ns && this->TMaxLocal_ns == parameters.TMaxLocal_ns && this->TMax_ns == parameters.TMax_ns && this->TMin_ns == parameters.TMin_ns && this->DMax_m == parameters.DMax_m && this->ctMin == parameters.ctMin && this->mestimator == parameters.mestimator && this->NMax == parameters.NMax ); } ClassDef(JShowerPointSimplexParameters_t, 2); size_t numberOfPrefits; ///< number of prefits double sigma_ns; ///< time resolution [ns] double TMaxLocal_ns; ///< time window for local coincidences [ns] double TMax_ns; ///< maximum time for local coincidences [ns] double TMin_ns; ///< minimum time for local coincidences [ns] double DMax_m; ///< maximal distance to optical module [m] double ctMin; ///< minimal cosine space angle between PMT axes int mestimator; ///< m-estimator int NMax; ///< maximum number of iterations }; } /** * Read fit parameters from input. * * \param in input stream * \param parameters fit parameters * \return input stream */ std::istream& operator>>(std::istream& in, JRECONSTRUCTION::JShowerPointSimplexParameters_t& parameters); /** * Write fit parameters to output. * * \param out output stream * \param parameters fit parameters * \return output stream */ std::ostream& operator<<(std::ostream& out, const JRECONSTRUCTION::JShowerPointSimplexParameters_t& parameters); #endif