1#ifndef __JOSCPROB__JOSCPROBINTERPOLATOR__
2#define __JOSCPROB__JOSCPROBINTERPOLATOR__
67 public JClonable<JOscProbInterface, JOscProbInterpolator <JCollection_t, JFunction1D_t, JFunctionalMaplist_t> >,
68 public JMessage <JOscProbInterpolator <JCollection_t, JFunction1D_t, JFunctionalMaplist_t> >,
69 public JObjectBinaryIO <JOscProbInterpolator <JCollection_t, JFunction1D_t, JFunctionalMaplist_t> >,
162 double getCosth(
const double L)
const override final
190 const double costh)
const override final
211 return min(max(P, 0.0), 1.0);
228 if (!
table.empty()) {
230 NOTICE(
"Loading oscillation probability table from file " <<
table <<
"... " << flush);
322 template<
class JOscProbInterpolator_t>
352 template<
template<
class,
class>
class JCollection_t,
class JFunction1D_t,
class JFunctionalMaplist_t>
362 template<
template<
class,
class>
class JCollection_t,
class JFunction1D_t,
class JFunctionalMaplist_t>
General purpose class for a collection of sorted elements.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Various implementations of functional maps.
General purpose messaging.
General methods for loading and storing a single object from and to a file, respectively.
#define gmake_property(A)
macros to convert (template) parameter to JPropertiesElement object
Utility class to parse parameter values.
JProperties & join(const JProperties &properties)
Join properties objects.
Interface for binary input.
Forward declaration of binary output.
Interface for binary output.
Simple data structure to support I/O of equations (see class JLANG::JEquation).
Data structure for object properties which require reloading whenever the property is reread.
Exception for accessing a value in a collection that is outside of its range.
static const char *const getTypeKey()
Get type keyword.
static JEquationParameters & getEquationParameters()
Get equation parameters.
JOscParameters_t::JParameter_t JParameter_t
JOscParameters_t::JOscParameter_t JOscParameter_t
Template definition of a multi-dimensional oscillation probability interpolation table.
JOscProbInterpolator()
Default constructor.
JOscProbInterface::JOscParameter_t JOscParameter_t
JWriter & write(JWriter &out) const override final
Write from input.
JOscProbInterface::JParameter_t JParameter_t
JArray< NUMBER_OF_DIMENSIONS, argument_type > buffer
Buffer for interpolation arguments.
JProperties getProperties(const JEquationParameters &eqpars=JOscProbInterface::getEquationParameters()) override final
Get properties of this class.
multifunction_type::function_type function_type
JOscProbInterface::JOscParameterReferences_t JOscParameterReferences_t
multifunction_type::abscissa_type abscissa_type
JOscProbInterpolator(const char *fileName, const JOscParameters_t ¶meters)
Constructor.
multifunction_type::multimap_type multimap_type
JOscProbInterface::JOscParameters_t JOscParameters_t
multifunction_type::super_const_iterator super_const_iterator
double getP(const JOscChannel &channel, const double E, const double costh) const override final
Get oscillation probability for a given oscillation channel.
JReader & read(JReader &in) override final
Read from input.
JOscProbInterpolator(const interpolator_type &interpolator)
Copy constructor.
JProperties getProperties(const JEquationParameters &eqpars=JOscProbInterface::getEquationParameters()) const override final
Get properties of this class.
multifunction_type::argument_type argument_type
JOscProbInterface::JOscParametersHelper_t JOscParametersHelper_t
multifunction_type::result_type result_type
void load()
Load oscillation probability table.
JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t > interpolator_type
JBaselineComputer baselineComputer
Baseline computer.
JOscProbInterpolator(const char *fileName)
Constructor.
JMultiFunction< JFunction1D_t, JFunctionalMaplist_t > multifunction_type
JLoadProperty< interpolator_type, std::string > table
Oscillation probability table filename.
multifunction_type::super_iterator super_iterator
void load(const char *table)
Load oscillation probability table.
multifunction_type::value_type value_type
double getBaseline(const double costh) const override final
Get baseline for a given cosine zenith angle.
double getCosth(const double L) const override final
Get cosine zenith angle for a given baseline.
General puprpose classes and methods.
static const JOscChannel getOscChannel[]
Declare group of neutrino oscillation channels.
static const unsigned int NUMBER_OF_OSCCHANNELS
Number of neutrino oscillation channels.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary class for handling debug parameter within a class.
static int debug
debug level (default is off).
Auxiliary base class for storing and loading a single object to and from a binary file,...
void load(const char *file_name)
Load from input file.
Template class for object cloning.
Auxiliary data structure for storing and calculating baselines.
double getCosth(const double L) const override final
Get cosine zenith angle for a given baseline.
double getBaseline(const double costh) const override final
Get baseline for a given cosine zenith angle.
Neutrino oscillation channel.
void configure(const pointer_type &p)
Configure oscillation parameters.
void set(const std::string &name, const value_type &value) const
Set value for a given oscillation parameter.
Auxiliary class for I/O of oscillation probability interpolator.
JOscProbInterpolatorHelper(JOscProbInterpolator_t &interpolator, const JEquationParameters &eqpars)
Constructor.