1 #ifndef __JOSCPROB__JOSCPROBHELPER__
2 #define __JOSCPROB__JOSCPROBHELPER__
18 namespace JPP {
using namespace JOSCPROB; }
26 public std::shared_ptr<JOscProbInterface>
84 if (static_cast<const JOscProbHelper&>(*
this)) {
85 return *(this->
get());
134 template<
class ...Args>
137 const Args& ...
args)
const
154 const double costh)
const
173 const double costh)
const
194 const double costh)
const
208 template<
class ...Args>
211 const Args& ...
args)
const
JOscProbHelper(JOscProbInterface *pOscProb)
Constructor.
JOscProbInterface & getOscProbInterface() const
Get reference to oscillation probability interface.
JOscParameters_t & getParameters() const
Get reference to oscillation parameters interface.
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.
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...
void set(const std::string &name, const value_type &value, const Args &...args) const
Set value for given list of oscillation parameters.
Low-level interface for oscillation probability calculators.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
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...
*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
Helper class for oscillation probabilities.
JOscProbHelper()
Default constructor.
void configure(const JOscProbInterface &oscProb)
Configure oscillation probability function.
void set(const std::string &name, const value_type &value)
Set value for a given oscillation parameter.
virtual clone_type clone() const override
Get clone of this object.
JOscProbInterface::JOscParameterReferences_t JOscParameterReferences_t
JOscProbInterface::JParameter_t JParameter_t
virtual void set(const std::string &name, const value_type &value) const
Set value for a given oscillation parameter.
virtual double getCosth(const double L) const
Get cosine zenith angle for a given baseline.
Exception for null pointer operation.
virtual double getCosth(const double L) const =0
Get cosine zenith angle for a given baseline.
virtual double getBaseline(const double costh) const =0
Get baseline for a given cosine zenith angle.
JOscProbInterface::value_type value_type
void set(const JOscParameters_t ¶meters) const
Set oscillation parameters.
JOscProbInterface::JOscParameters_t JOscParameters_t
then fatal The output file must have the wildcard in the name
JOscProbInterface::argument_type argument_type
then for APP in event gandalf start energy
JOscParameters_t::value_type value_type
virtual double getBaseline(const double costh) const
Get baseline for a given cosine zenith angle.
JOscParameterReferences_t & getParameters() const
Get reference to oscillation parameters interface.
JOscParameters_t::argument_type argument_type
JOscProbHelper(const JOscProbInterface &oscProb)
Constructor.
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...
Interface class for sets of oscillation parameters.
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...