#ifndef __JRECONSTRUCTION__JMUONSIMPLEXPARAMETERS__ #define __JRECONSTRUCTION__JMUONSIMPLEXPARAMETERS__ #include #include /** * \author gmaggi */ namespace JRECONSTRUCTION {} namespace JPP { using namespace JRECONSTRUCTION; } namespace JRECONSTRUCTION { /** * Data structure for fit parameters. */ struct JMuonSimplexParameters_t : public TObject { /** * Default constructor. */ JMuonSimplexParameters_t() { this->reset(); } /** * Virtual destructor. */ virtual ~JMuonSimplexParameters_t() {} /** * Reset fit parameters. */ void reset() { sigma_ns = 3; useL0 = true; numberOfPrefits = 0; TMaxLocal_ns = 15.0; ctMin = 0.0; roadWidth_m = 200.0; TMin_ns = -50.0; TMax_ns = +50.0; NMax = 1000; reprocess = false; } /** * Equality * * \param parameters fit parameters * \return true if equals; else false */ bool equals(const JMuonSimplexParameters_t& parameters) const { return (this->sigma_ns == parameters.sigma_ns && this->useL0 == parameters.useL0 && this->numberOfPrefits == parameters.numberOfPrefits && this->TMaxLocal_ns == parameters.TMaxLocal_ns && this->ctMin == parameters.ctMin && this->roadWidth_m == parameters.roadWidth_m && this->TMin_ns == parameters.TMin_ns && this->TMax_ns == parameters.TMax_ns && this->NMax == parameters.NMax && this->reprocess == parameters.reprocess); } ClassDef(JMuonSimplexParameters_t, 2); double sigma_ns; ///< time resolution [ns] bool useL0; ///< option for L0 hit use size_t numberOfPrefits; ///< number of prefits double TMaxLocal_ns; ///< time window for local coincidences [ns] double ctMin; ///< minimal cosine space angle between PMT axes double roadWidth_m; ///< road width [m] double TMin_ns; ///< minimal time w.r.t. Cherenkov hypothesis [ns] double TMax_ns; ///< maximal time w.r.t. Cherenkov hypothesis [ns] int NMax; ///< maximum number of iterations bool reprocess; ///< reprocess }; } /** * Read fit parameters from input. * * \param in input stream * \param parameters fit parameters * \return input stream */ std::istream& operator>>(std::istream& in, JRECONSTRUCTION::JMuonSimplexParameters_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::JMuonSimplexParameters_t& parameters); #endif