#ifndef __JOSCPROB__JOSCPROBINTERPOLATORINTERFACE__ #define __JOSCPROB__JOSCPROBINTERPOLATORINTERFACE__ #include "JLang/JClonable.hh" #include "JIO/JSerialisable.hh" #include "JOscProb/JOscChannel.hh" #include "JOscProb/JOscParameters.hh" #include "JOscProb/JOscProbInterface.hh" #include "JOscProb/JBaselineCalculator.hh" /** * \author bjung, mdejong */ namespace JOSCPROB {} namespace JPP { using namespace JOSCPROB; } namespace JOSCPROB { using JLANG::JClonable; using JIO::JSerialisable; /** * Low-level interface for oscillation probability tables. */ class JOscProbInterpolatorInterface : public JSerialisable, public JOscProbInterface, public JClonable { public: /** * Default constructor. */ JOscProbInterpolatorInterface() {} /** * Virtual destructor. */ virtual ~JOscProbInterpolatorInterface() {} /** * Load oscillation probability table from file. * * \param fileName oscillation probability table fileName */ virtual void load(const char* fileName) = 0; /** * Get oscillation parameters. * * \return oscillation parameters */ virtual const JOscParameters& getTableParameters() const = 0; /** * Get baseline calculator associated with this interpolation table. * * \return baseline calculator */ virtual const JBaselineCalculator& getBaselineCalculator() const = 0; }; } #endif