1 #ifndef __JOSCPROB__JOSCPROBHELPER__
2 #define __JOSCPROB__JOSCPROBHELPER__
26 public std::shared_ptr<JOscProbInterface>
98 return *(this->get());
133 void set(
const std::string& name,
147 template<
class ...Args>
148 void set(
const std::string& name,
150 const Args& ...
args)
const
167 const double costh)
const
186 const double costh)
const
203 double getP(
const std::string& name,
207 const double costh)
const
221 template<
class ...Args>
222 double getP(
const std::string& name,
224 const Args& ...
args)
const
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Exception for null pointer operation.
Interface class for sets of oscillation parameters.
void set(const std::string &name, const value_type &value)
Set value for a given oscillation parameter.
Low-level interface for oscillation probability calculators.
virtual double getP(const JOscChannel &channel, const double E, const double costh) const =0
Get oscillation probability for a given oscillation channel.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
virtual clone_type clone() const override
Get clone of this object.
double getCosth(const double L) const
Get cosine zenith angle for a given baseline.
double getBaseline(const double costh) const
Get baseline for a given cosine zenith angle.
Neutrino oscillation channel.
JOscParameters_t::value_type value_type
JOscParameters_t & getParameters() const
Get reference to oscillation parameters interface.
JOscParameters_t::argument_type argument_type
Helper class for oscillation probabilities.
JOscParameterReferences_t & getParameters() const
Get reference to oscillation parameters interface.
void set(const std::string &name, const value_type &value) const
Set value for a given oscillation parameter.
void set(const JOscParameters_t ¶meters) const
Set oscillation parameters.
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...
JOscProbHelper(const pointer_type &pOscProb)
Constructor.
JOscProbHelper(const JOscProbInterface &oscProb)
Constructor.
JOscProbInterface::JOscParameterReferences_t JOscParameterReferences_t
std::shared_ptr< JOscProbInterface > pointer_type
JOscProbInterface & getOscProbInterface() const
Get reference to oscillation probability interface.
double getBaseline(const double costh) const
Get baseline for a given cosine zenith angle.
JOscProbHelper()
Default constructor.
double getP(const JOscChannel &channel, const double energy, const double costh) const
Get oscillation probability corresponding to given oscillation channel, neutrino energy and zenith an...
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.
JOscProbInterface::JOscParameters_t JOscParameters_t
JOscProbInterface::JParameter_t JParameter_t
double getP(const JOscParameters_t ¶meters, const JOscChannel &channel, const double energy, const double costh) const
Get oscillation probability for a given set of oscillation parameters and a given oscillation channel...
void configure(const JOscProbInterface &oscProb)
Configure oscillation probability function.
void configure(const pointer_type &pOscProb)
Configure oscillation probability function.
void set(const std::string &name, const value_type &value, const Args &...args) const
Set value for given list of oscillation parameters.
JOscProbInterface::value_type value_type
double getCosth(const double L) const
Get cosine zenith angle for a given baseline.
JOscProbInterface::argument_type argument_type