1 #ifndef __JOSCPROB__JOSCPROBINTERPOLATOR__
2 #define __JOSCPROB__JOSCPROBINTERPOLATOR__
33 namespace JPP {
using namespace JOSCPROB; }
61 public JClonable<JOscProbInterpolatorInterface, JOscProbInterpolator <JCollection_t, JFunction1D_t, JFunctionalMaplist_t> >,
62 public JMessage <JOscProbInterpolator <JCollection_t, JFunction1D_t, JFunctionalMaplist_t> >
107 this->
load(fileName);
124 this->
load(fileName);
125 this->
set(parameters);
134 void load(
const char* fileName)
override
141 NOTICE(
"loading oscillation probability table from file " << fileName <<
"... " << flush);
143 JLANG::load<JIO::JFileStreamReader>(fileName, *
this);
147 catch(
const JException& error) {
148 THROW(JFileReadException,
"JOscProbInterpolator::load(): Error reading file " << fileName);
185 pars.
join(this->parameters);
189 for (JProperties::const_iterator
i = properties.cbegin();
i != properties.cend(); ++
i) {
202 "JOscProbInterpolator<...>::set(JOscParameters): " <<
203 "No value for parameter " <<
i->first);
219 const double costh)
const override
236 const result_type& probabilities = this->evaluate(arguments);
238 const double&
P = probabilities[index];
240 return (P > 1.0 ? 1.0 : (P < 0.0 ? 0.0 : P));
244 THROW(
JValueOutOfRange,
"JOscProbInterpolator<...>::operator(): Invalid oscillation channel " << channel << endl);
262 const double costh)
const override
266 return (*
this)(channel,
E, costh);
300 out << static_cast<const multifunction_type&>(*this);
319 template<
template<
class,
class>
class JCollection_t,
class JFunction1D_t,
class JFunctionalMaplist_t>
329 template<
template<
class,
class>
class JCollection_t,
class JFunction1D_t,
class JFunctionalMaplist_t>
double operator()(const JOscParameters ¶meters, const JOscChannel &channel, const double E, const double costh) const override
Get oscillation probability for a given set of oscillation parameters and a given oscillation channel...
static int debug
debug level (default is off).
Interface for binary output.
JOscProbInterpolator()
Default constructor.
then usage $script< input file >[option[primary[working directory]]] nWhere option can be E
Neutrino oscillation channel.
multifunction_type::argument_type argument_type
JWriter & write(JWriter &out) const override
Binary stream output of oscillation parameters.
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
static const unsigned int NUMBER_OF_OSCCHANNELS
Number of neutrino oscillation channels.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Utility class to parse parameter values.
*fatal Wrong number of arguments
JReader & read(JReader &in) override
Binary stream input of oscillation parameters.
Data structure for single set of oscillation parameters.
JMultiFunction< JFunction1D_t, JFunctionalMaplist_t > multifunction_type
JOscProbInterpolator(const char *fileName, const JOscParameters ¶meters)
Constructor.
JOscProbInterpolator(const char *fileName)
Constructor.
Auxiliary data structure for storing and calculating baselines.
Utility class to parse parameter values.
Various implementations of functional maps.
const bool isDefined() const
Get status of parameter.
JProperties getProperties(const JEquationParameters &equation=JOscParameters_t::getEquationParameters())
Get properties of this class.
void set(const JOscParameters ¶meters) const override
Set oscillation parameters for interpolation.
JWriter & write(JWriter &out) const override
Binary stream output of oscillation parameters.
JReader & read(JReader &in) override
Binary stream input of baseline extrema.
const JBaselineCalculator & getBaselineCalculator() const override
Get baseline calculator associated with this interpolation table.
static int debug
Default verbosity for oscillation probability interpolators.
static const JOscChannel getOscChannel[]
Declare group of neutrino oscillation channels.
multifunction_type::value_type value_type
Template class for object cloning.
multifunction_type::multimap_type multimap_type
General purpose class for a collection of sorted elements.
Interface for binary input.
General purpose messaging.
JOscParameters_t & join(const JOscParameters_t ¶meters)
Join the given oscillation parameters with these oscillation parameters.
double operator()(const JOscChannel &channel, const double E, const double costh) const override
Get oscillation probability for a given oscillation channel.
multifunction_type::function_type function_type
JWriter & write(JWriter &out) const override
Write from input.
void load(const char *fileName) override
Load oscillation probability table from file.
JOscParameters parameters
Fixed oscillation parameters corresponding to the oscillation probability table.
multifunction_type::result_type result_type
multifunction_type::super_const_iterator super_const_iterator
const T & getValue() const
Get value of parameter.
multifunction_type::abscissa_type abscissa_type
JReader & read(JReader &in) override
Read from input.
Exception for accessing a value in a collection that is outside of its range.
General methods for loading and storing a single object from and to a file, respectively.
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
multifunction_type::super_iterator super_iterator
Template definition of a multi-dimensional oscillation probability interpolation table.
JBaselineCalculator getBaseline
Baseline functor.
JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t > interpolator_type
const JOscParameters & getTableParameters() const override
Get fixed oscillation parameters associated with this interpolation table.
Auxiliary class for handling debug parameter within a class.