1#ifndef __JOSCPROB__JOSCPROBINTERFACE__ 
    2#define __JOSCPROB__JOSCPROBINTERFACE__ 
   74    template<
class ...Args>
 
   76                      const std::string&               name,
 
   78                      const Args&                   ...args) :
 
 
  111                        const double          costh) 
const = 0;
 
  127                const double            costh)
 const 
  129      this->
set(parameters);
 
  131      return getP(channel, E, costh);      
 
 
  146    double getP(
const std::string& name,
 
  150                const double       costh)
 const 
  152      this->
set(name, value);
 
  154      return getP(channel, E, costh);
 
 
  166    template<
class ...Args>
 
  167    double getP(
const std::string& name,
 
  169                const Args&     ...args)
 const 
  171      this->
set(name, value);
 
  173      return getP(args...);
 
 
  187                      const double          costh)
 const 
  189      return getP(channel, E, costh);
 
 
  206                      const double            costh)
 const 
  208      return getP(parameters, channel, E, costh);
 
 
  227                      const double       costh)
 const 
  229      return getP(name, value, channel, E, costh);
 
 
  241    template<
class ...Args>    
 
  244                      const Args&     ...args)
 const 
  246      return getP(name, value, args...);
 
 
  280    virtual std::istream& 
read(std::istream& in)
 
  287      if (getFileStatus(is.str().c_str())) {
 
 
  303    virtual std::ostream& 
write(std::ostream& out)
 const 
 
  318      return object.read(in);
 
 
  331      return object.write(out);
 
 
 
Simple data structure to support I/O of equations (see class JLANG::JEquation).
 
Wrapper class around STL stringstream class to facilitate optional loading of data from file.
 
void load()
Load data from file with name corresponding to current contents.
 
Interface class for sets of oscillation parameters.
 
Low-level interface for oscillation probability calculators.
 
double operator()(const std::string &name, const double value, const JOscChannel &channel, const double E, const double costh) const
Get oscillation probability for a given oscillation parameter and a given oscillation channel.
 
double getP(const JOscParameters_t ¶meters, const JOscChannel &channel, const double E, const double costh) const
Get oscillation probability for a given set of oscillation parameters and a given oscillation channel...
 
friend std::ostream & operator<<(std::ostream &out, const JOscProbInterface &object)
Write oscillation probability calculator to output.
 
JOscProbInterface()
Default constructor.
 
JOscParametersHelper< double & > JOscParametersHelper_t
 
virtual std::ostream & write(std::ostream &out) const
Write configuration of oscillation probability calculator to output.
 
double operator()(const JOscParameters_t ¶meters, const JOscChannel &channel, const double E, const double costh) const
Get oscillation probability for a given set of oscillation parameters and a given oscillation channel...
 
static const char *const getTypeKey()
Get type keyword.
 
JOscParameters_t::JOscParameter_t JOscParameter_t
 
double operator()(const std::string &name, const double value, const Args &...args) const
Get oscillation probability for a given set of oscillation parameters and a given oscillation channel...
 
virtual double getP(const JOscChannel &channel, const double E, const double costh) const =0
Get oscillation probability for a given oscillation channel.
 
double getP(const std::string &name, const double value, const JOscChannel &channel, const double E, const double costh) const
Get oscillation probability for a given oscillation parameter and a given oscillation channel.
 
virtual ~JOscProbInterface()
Virtual destructor.
 
friend std::istream & operator>>(std::istream &in, JOscProbInterface &object)
Read oscillation probability calculator from input.
 
JOscProbInterface(const JOscParameterReferences_t ¶meters, const std::string &name, double &value, const Args &...args)
Constructor.
 
JOscParametersInterface< double & > JOscParameterReferences_t
 
static JEquationParameters & getEquationParameters()
Get equation parameters.
 
JOscParameters_t::JParameter_t JParameter_t
 
double operator()(const JOscChannel &channel, const double E, const double costh) const
Get oscillation probability for a given oscillation channel.
 
JOscParametersInterface< double > JOscParameters_t
 
static void setEquationParameters(const JEquationParameters &eqpars)
Set equation parameters.
 
JOscProbInterface(const JOscParameterReferences_t ¶meters)
Constructor.
 
double getP(const std::string &name, const double value, const Args &...args) const
Get oscillation probability for a given set of oscillation parameters and a given oscillation channel...
 
virtual std::istream & read(std::istream &in)
Read configuration of oscillation probability calculator from input.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Template class for object cloning.
 
Low-level interface for oscillation baseline calculators.
 
Neutrino oscillation channel.
 
Abstract base class for oscillation parameter.
 
Helper class for oscillation parameters.
 
virtual JProperties getProperties(const JEquationParameters &equation=JOscParameters_t::getEquationParameters())
 
void set(const std::string &name, const value_type &value) const