1 #ifndef __JOSCPROB__JOSCPROBINTERFACE__
2 #define __JOSCPROB__JOSCPROBINTERFACE__
19 namespace JPP {
using namespace JOSCPROB; }
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);
135 const double costh)
const
137 this->
set(name, value);
139 return getP(channel, E, costh);
151 template<
class ...Args>
154 const Args& ...
args)
const
156 this->
set(name, value);
158 return getP(args...);
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
231 return getP(name, value, args...);
Abstract base class for oscillation parameter.
JOscProbInterface(const JOscParameterReferences_t ¶meters)
Constructor.
virtual double getP(const JOscChannel &channel, const double E, const double costh) const =0
Get oscillation probability for a given oscillation channel.
then usage $script< input file >[option[primary[working directory]]] nWhere option can be E
Neutrino oscillation channel.
virtual void set(const std::string &name, const value_type &value) const
Set value for a given oscillation parameter.
Low-level interface for oscillation baseline calculators.
Low-level interface for oscillation probability calculators.
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
virtual ~JOscProbInterface()
Virtual destructor.
JOscParametersHelper< double & > JOscParametersHelper_t
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...
JOscParameters_t::JOscParameter_t JOscParameter_t
JOscParameters_t::JParameter_t JParameter_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...
Helper class for oscillation parameters.
JOscParametersInterface< double > JOscParameters_t
Template class for object cloning.
then fatal The output file must have the wildcard in the name
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...
JOscProbInterface()
Default constructor.
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...
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...
double operator()(const JOscChannel &channel, const double E, const double costh) const
Get oscillation probability for a given oscillation channel.
JOscParametersInterface< double & > JOscParameterReferences_t
Interface class for sets of oscillation parameters.
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...
JOscProbInterface(const JOscParameterReferences_t ¶meters, const std::string &name, double &value, const Args &...args)
Constructor.