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);
184 parameters.
join(this->parameters);
188 for (JProperties::const_iterator
i = properties.cbegin();
i != properties.cend(); ++
i) {
201 "JOscProbInterpolator<...>::set(JOscParameters): " <<
202 "No value for parameter " <<
i->first);
218 const double costh)
const override
235 const result_type& probabilities = this->evaluate(arguments);
237 return probabilities[index];
241 THROW(
JValueOutOfRange,
"JOscProbInterpolator<...>::operator(): Invalid oscillation channel " << channel << endl);
259 const double costh)
override
263 return (*
this)(channel,
E, costh);
297 out << static_cast<const multifunction_type&>(*this);
316 template<
template<
class,
class>
class JCollection_t,
class JFunction1D_t,
class JFunctionalMaplist_t>
326 template<
template<
class,
class>
class JCollection_t,
class JFunction1D_t,
class JFunctionalMaplist_t>
static int debug
debug level (default is off).
Interface for binary output.
JOscProbInterpolator()
Default constructor.
void set(JOscParameters parameters) override
Set oscillation parameters for interpolation.
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.
double operator()(const JOscParameters ¶meters, const JOscChannel &channel, const double E, const double costh) override
Get oscillation probability for a given set of oscillation parameters and a given oscillation channel...
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.
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.