Jpp  16.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Attributes | List of all members
JOSCPROB::JOscProbInterpolator8D< JDistance_t > Struct Template Reference

Auxiliary class for interpolating an oscillation probability table in 8 dimensions in terms of:
. More...

#include <JOscProbInterpolator8D.hh>

Inheritance diagram for JOSCPROB::JOscProbInterpolator8D< JDistance_t >:
JOSCPROB::JOscParameters

Public Types

typedef JOscProbTable8D
< JDistance_t > 
table_type
 
typedef table_type::data_type data_type
 

Public Member Functions

 JOscProbInterpolator8D ()
 Default constructor. More...
 
 JOscProbInterpolator8D (const table_type *pTable, const JOscParameters &parameters)
 Constructor. More...
 
virtual double operator() (const JOscChannel &channel, const double log10E, const double costh) const
 Get oscillation probability for given oscillation channel. More...
 
const JOscParametersgetOscParameters () const
 Get oscillation parameters. More...
 
void setOscParameters (const JOscParameters &parameters)
 Set oscillation parameters. More...
 
bool is_valid () const
 Check validity of oscillation parameters. More...
 
JProperties getProperties (const JEquationParameters &equation=JOscParameters::getEquationParameters())
 Get properties of this class. More...
 
JProperties getProperties (const JEquationParameters &equation=JOscParameters::getEquationParameters()) const
 Get properties of this class. More...
 
void setProperties (const JProperties &properties)
 Set properties of this class. More...
 

Static Public Member Functions

static JEquationParametersgetEquationParameters ()
 Get equation parameters. More...
 
static void setEquationParameters (const JEquationParameters &equation)
 Set equation parameters. More...
 

Public Attributes

double sinsqTh12
 Squared sine of the PMNS mixing angle between the first and second neutrino mass eigenstates [-]. More...
 
double dM21sq
 Squared mass difference between the first and second neutrino mass eigenstates [eV2]. More...
 
double sinsqTh13
 Squared sine of the PMNS mixing angle between the first and third neutrino mass eigenstates [-]. More...
 
double dM31sq
 Squared mass difference between the first and third neutrino mass eigenstates [eV2]. More...
 
double sinsqTh23
 Squared sine of the PMNS mixing angle between the second and third neutrino mass eigenstates [-]. More...
 
double deltaCP
 PMNS phase angle [pi * rad]. More...
 

Private Attributes

const table_typepTable
 Pointer to 8D oscillation probability table. More...
 

Detailed Description

template<class JDistance_t = JTOOLS::JDistance<typename JOscProbTable8D_t::JFunction2D_t::argument_type>>
struct JOSCPROB::JOscProbInterpolator8D< JDistance_t >

Auxiliary class for interpolating an oscillation probability table in 8 dimensions in terms of:
.

  1. $sin^2(\theta_{12})$
  2. $\Delta m_{21}^2$
  3. $sin^2(\theta_{13})$
  4. $\Delta m_{31}^2$
  5. $sin^2(\theta_{23})$
  6. $\delta_{\text{CP}}$
  7. $log_{10}(E)$
  8. $cos(\theta)$

Definition at line 44 of file JOscProbInterpolator8D.hh.

Member Typedef Documentation

template<class JDistance_t = JTOOLS::JDistance<typename JOscProbTable8D_t::JFunction2D_t::argument_type>>
typedef JOscProbTable8D<JDistance_t> JOSCPROB::JOscProbInterpolator8D< JDistance_t >::table_type

Definition at line 47 of file JOscProbInterpolator8D.hh.

template<class JDistance_t = JTOOLS::JDistance<typename JOscProbTable8D_t::JFunction2D_t::argument_type>>
typedef table_type::data_type JOSCPROB::JOscProbInterpolator8D< JDistance_t >::data_type

Definition at line 48 of file JOscProbInterpolator8D.hh.

Constructor & Destructor Documentation

template<class JDistance_t = JTOOLS::JDistance<typename JOscProbTable8D_t::JFunction2D_t::argument_type>>
JOSCPROB::JOscProbInterpolator8D< JDistance_t >::JOscProbInterpolator8D ( )
inline

Default constructor.

Definition at line 54 of file JOscProbInterpolator8D.hh.

54  :
55  pTable(),
57  {}
JOscParameters()
Default constructor.
const table_type * pTable
Pointer to 8D oscillation probability table.
template<class JDistance_t = JTOOLS::JDistance<typename JOscProbTable8D_t::JFunction2D_t::argument_type>>
JOSCPROB::JOscProbInterpolator8D< JDistance_t >::JOscProbInterpolator8D ( const table_type pTable,
const JOscParameters parameters 
)
inline

Constructor.

Parameters
pTablepointer to 8D oscillation probability table
parametersoscillation parameters

Definition at line 66 of file JOscProbInterpolator8D.hh.

67  :
68  pTable (pTable),
69  JOscParameters(parameters)
70  {}
JOscParameters()
Default constructor.
const table_type * pTable
Pointer to 8D oscillation probability table.

Member Function Documentation

template<class JDistance_t = JTOOLS::JDistance<typename JOscProbTable8D_t::JFunction2D_t::argument_type>>
virtual double JOSCPROB::JOscProbInterpolator8D< JDistance_t >::operator() ( const JOscChannel channel,
const double  log10E,
const double  costh 
) const
inlinevirtual

Get oscillation probability for given oscillation channel.

Parameters
channeloscillation channel
log10Elogarithmic neutrino energy
costhcosine zenith angle
Returns
oscillation probability

Definition at line 81 of file JOscProbInterpolator8D.hh.

84  {
85  using namespace std;
86  using namespace JPP;
87 
88  const JOscChannel* p = find(getOscChannel, getOscChannel + NUMBER_OF_OSCCHANNELS, channel);
89 
90  if (pTable != NULL) {
91 
92  if (p != end(getOscChannel) && is_valid()) {
93 
94  const size_t index = distance(getOscChannel, p);
95 
96  const data_type& probabilities = (*pTable)(this->sinsqTh12, this->dM21sq,
97  this->sinsqTh13, this->dM31sq,
98  this->sinsqTh23, this->deltaCP,
99  log10E, costh);
100  return probabilities[index];
101 
102  } else {
103 
104  if (is_valid()) {
105  THROW(JValueOutOfRange, "JOscProbInterpolator8D::operator(): Invalid oscillation channel " << channel << endl);
106  } else {
107  THROW(JValueOutOfRange, "JOscProbInterpolator8D::operator(): Invalid oscillation parameters " << static_cast<const JOscParameters&>(*this) << endl);
108  }
109  }
110 
111  } else {
112 
113  THROW(JNullPointerException, "JOscProbInterpolator8D::operator(): Unspecified oscillation probability table." << endl);
114  }
115  }
Neutrino oscillation channel.
Definition: JOscChannel.hh:29
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:696
double sinsqTh23
Squared sine of the PMNS mixing angle between the second and third neutrino mass eigenstates [-]...
double deltaCP
PMNS phase angle [pi * rad].
const table_type * pTable
Pointer to 8D oscillation probability table.
double dM31sq
Squared mass difference between the first and third neutrino mass eigenstates [eV2].
double sinsqTh12
Squared sine of the PMNS mixing angle between the first and second neutrino mass eigenstates [-]...
static const JOscChannel getOscChannel[]
Declare group of neutrino oscillation channels.
Definition: JOscChannel.hh:340
double dM21sq
Squared mass difference between the first and second neutrino mass eigenstates [eV2].
bool is_valid() const
Check validity of oscillation parameters.
static const int NUMBER_OF_OSCCHANNELS
Number of neutrino oscillation channels.
Definition: JOscChannel.hh:365
double sinsqTh13
Squared sine of the PMNS mixing angle between the first and third neutrino mass eigenstates [-]...
const JOscParameters& JOSCPROB::JOscParameters::getOscParameters ( ) const
inlineinherited

Get oscillation parameters.

Returns
oscillation parameters

Definition at line 76 of file JOscParameters.hh.

77  {
78  return static_cast<const JOscParameters&>(*this);
79  }
Data structure for oscillation parameters.
void JOSCPROB::JOscParameters::setOscParameters ( const JOscParameters parameters)
inlineinherited

Set oscillation parameters.

Parameters
parametersoscillation parameters

Definition at line 87 of file JOscParameters.hh.

88  {
89  static_cast<JOscParameters&>(*this) = parameters;
90  }
Data structure for oscillation parameters.
*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
Definition: diff-Tuna.sh:38
bool JOSCPROB::JOscParameters::is_valid ( ) const
inlineinherited

Check validity of oscillation parameters.

Returns
true if valid; else false

Definition at line 98 of file JOscParameters.hh.

99  {
100  if (this->sinsqTh12 < 0.0 ||
101  this->dM21sq < 0.0 ||
102  this->sinsqTh13 < 0.0 ||
103  this->dM31sq < 0.0 ||
104  this->sinsqTh23 < 0.0) {
105  return false;
106  }
107 
108  return true;
109  }
double sinsqTh23
Squared sine of the PMNS mixing angle between the second and third neutrino mass eigenstates [-]...
double dM31sq
Squared mass difference between the first and third neutrino mass eigenstates [eV2].
double sinsqTh12
Squared sine of the PMNS mixing angle between the first and second neutrino mass eigenstates [-]...
double dM21sq
Squared mass difference between the first and second neutrino mass eigenstates [eV2].
double sinsqTh13
Squared sine of the PMNS mixing angle between the first and third neutrino mass eigenstates [-]...
static JEquationParameters& JOSCPROB::JOscParameters::getEquationParameters ( )
inlinestaticinherited

Get equation parameters.

Returns
equation parameters

Definition at line 149 of file JOscParameters.hh.

150  {
151  static JEquationParameters equation("=", "\n\r;,", "./", "#");
152 
153  return equation;
154  }
Simple data structure to support I/O of equations (see class JLANG::JEquation).
static void JOSCPROB::JOscParameters::setEquationParameters ( const JEquationParameters equation)
inlinestaticinherited

Set equation parameters.

Parameters
equationequation parameters

Definition at line 162 of file JOscParameters.hh.

163  {
164  getEquationParameters() = equation;
165  }
static JEquationParameters & getEquationParameters()
Get equation parameters.
JProperties JOSCPROB::JOscParameters::getProperties ( const JEquationParameters equation = JOscParameters::getEquationParameters())
inlineinherited

Get properties of this class.

Parameters
equationequation parameters

Definition at line 173 of file JOscParameters.hh.

174  {
175  return JOscParametersHelper(*this, equation);
176  }
JProperties JOSCPROB::JOscParameters::getProperties ( const JEquationParameters equation = JOscParameters::getEquationParameters()) const
inlineinherited

Get properties of this class.

Parameters
equationequation parameters

Definition at line 184 of file JOscParameters.hh.

185  {
186  return JOscParametersHelper(*this, equation);
187  }
void JOSCPROB::JOscParameters::setProperties ( const JProperties properties)
inlineinherited

Set properties of this class.

Parameters
propertiesproperties

Definition at line 195 of file JOscParameters.hh.

196  {
197  this->sinsqTh12 = properties.getValue<double>("sinsqTh12");
198  this->dM21sq = properties.getValue<double>("dM21sq");
199  this->sinsqTh13 = properties.getValue<double>("sinsqTh13");
200  this->dM31sq = properties.getValue<double>("dM31sq");
201  this->sinsqTh23 = properties.getValue<double>("sinsqTh23");
202  this->deltaCP = properties.getValue<double>("deltaCP");
203  }
double sinsqTh23
Squared sine of the PMNS mixing angle between the second and third neutrino mass eigenstates [-]...
double deltaCP
PMNS phase angle [pi * rad].
const T & getValue(const std::string &key) const
Get value.
Definition: JProperties.hh:974
double dM31sq
Squared mass difference between the first and third neutrino mass eigenstates [eV2].
double sinsqTh12
Squared sine of the PMNS mixing angle between the first and second neutrino mass eigenstates [-]...
double dM21sq
Squared mass difference between the first and second neutrino mass eigenstates [eV2].
double sinsqTh13
Squared sine of the PMNS mixing angle between the first and third neutrino mass eigenstates [-]...

Member Data Documentation

template<class JDistance_t = JTOOLS::JDistance<typename JOscProbTable8D_t::JFunction2D_t::argument_type>>
const table_type* JOSCPROB::JOscProbInterpolator8D< JDistance_t >::pTable
private

Pointer to 8D oscillation probability table.

Definition at line 120 of file JOscProbInterpolator8D.hh.

double JOSCPROB::JOscParameters::sinsqTh12
inherited

Squared sine of the PMNS mixing angle between the first and second neutrino mass eigenstates [-].

Definition at line 206 of file JOscParameters.hh.

double JOSCPROB::JOscParameters::dM21sq
inherited

Squared mass difference between the first and second neutrino mass eigenstates [eV2].

Definition at line 207 of file JOscParameters.hh.

double JOSCPROB::JOscParameters::sinsqTh13
inherited

Squared sine of the PMNS mixing angle between the first and third neutrino mass eigenstates [-].

Definition at line 208 of file JOscParameters.hh.

double JOSCPROB::JOscParameters::dM31sq
inherited

Squared mass difference between the first and third neutrino mass eigenstates [eV2].

Definition at line 209 of file JOscParameters.hh.

double JOSCPROB::JOscParameters::sinsqTh23
inherited

Squared sine of the PMNS mixing angle between the second and third neutrino mass eigenstates [-].

Definition at line 210 of file JOscParameters.hh.

double JOSCPROB::JOscParameters::deltaCP
inherited

PMNS phase angle [pi * rad].

Definition at line 211 of file JOscParameters.hh.


The documentation for this struct was generated from the following file: