1 #ifndef __JOSCPROB__JOSCPROBINTERFACE__
2 #define __JOSCPROB__JOSCPROBINTERFACE__
70 template<
class ...Args>
72 const std::string& name,
74 const Args& ...
args) :
96 const double costh)
const = 0;
112 const double costh)
const
114 this->
set(parameters);
116 return getP(channel, E, costh);
131 double getP(
const std::string& name,
135 const double costh)
const
137 this->
set(name, value);
139 return getP(channel, E, costh);
151 template<
class ...Args>
152 double getP(
const std::string& name,
154 const Args& ...
args)
const
156 this->
set(name, value);
172 const double costh)
const
174 return getP(channel, E, costh);
191 const double costh)
const
193 return getP(parameters, channel, E, costh);
212 const double costh)
const
214 return getP(name, value, channel, E, costh);
226 template<
class ...Args>
229 const Args& ...
args)
const
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...
JOscParametersInterface< double & > JOscParameterReferences_t
JOscProbInterface()
Default constructor.
JOscParametersHelper< double & > JOscParametersHelper_t
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...
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.
JOscParametersInterface< double > JOscParameters_t
JOscProbInterface(const JOscParameterReferences_t ¶meters, const std::string &name, double &value, const Args &...args)
Constructor.
double operator()(const JOscChannel &channel, const double E, const double costh) const
Get oscillation probability for a given oscillation channel.
JOscParameters_t::JParameter_t JParameter_t
JOscParameters_t::JOscParameter_t JOscParameter_t
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...
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Template class for object cloning.
Auxiliary data structure for storing and calculating baselines.
Neutrino oscillation channel.
Abstract base class for oscillation parameter.
Helper class for oscillation parameters.
void set(const std::string &name, const value_type &value) const
Set value for a given oscillation parameter.