#ifndef __JRECONSTRUCTION__JMUONPARAMETERS__ #define __JRECONSTRUCTION__JMUONPARAMETERS__ #include #include #include "JReconstruction/JMuonPrefitParameters_t.hh" #include "JReconstruction/JMuonSimplexParameters_t.hh" #include "JReconstruction/JMuonGandalfParameters_t.hh" #include "JReconstruction/JMuonEnergyParameters_t.hh" #include "JReconstruction/JMuonStartParameters_t.hh" #include #include /** * \author gmaggi */ namespace JRECONSTRUCTION { /** * Muon reconstruction parameters. */ struct JMuonParameters : public TObject { /** * Default constructor. */ JMuonParameters() { this->reset(); } /** * Virtual destructor. */ virtual ~JMuonParameters(){} /** * Reset fit parameters. */ void reset() { prefit .reset(); simplex.reset(); gandalf.reset(); } inline operator JMuonPrefitParameters_t() const { return prefit; } //!< muon prefit parameters inline operator JMuonSimplexParameters_t() const { return simplex; } //!< muon simplex parameters inline operator JMuonGandalfParameters_t() const { return gandalf; } //!< muon gandalf parameters inline operator JMuonEnergyParameters_t() const { return energy; } //!< muon energy parameters inline operator JMuonStartParameters_t() const { return start; } //!< muon start parameters /** * Equality * * \param parameters fit parameters * \return true if equals; else false */ bool equals(const JMuonParameters& parameters) const { return (prefit .equals(parameters) && simplex.equals(parameters) && gandalf.equals(parameters) && energy .equals(parameters) && start .equals(parameters)); } ClassDef(JMuonParameters,2); JMuonPrefitParameters_t prefit; JMuonSimplexParameters_t simplex; JMuonGandalfParameters_t gandalf; JMuonEnergyParameters_t energy; JMuonStartParameters_t start; }; } /** * Read fit parameters from input. * * \param in input stream * \param parameters fit parameters * \return input stream */ std::istream& operator>>(std::istream& in, JRECONSTRUCTION::JMuonParameters& 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::JMuonParameters& parameters); #endif