Jpp  18.5.2
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 | Protected Attributes | List of all members
JOSCPROB::JMixingAngle< T > Struct Template Reference

Implementation of oscillation mixing angle. More...

#include <JMixingAngle.hh>

Inheritance diagram for JOSCPROB::JMixingAngle< T >:
JOSCPROB::JOscParameter< T > JLANG::JParameter< T > JLANG::JComparable< JParameter< T > >

Public Types

typedef JMixingAngle< TJMixingAngle_t
 
typedef JOscParameter< TJOscParameter_t
 
typedef
JOscParameter_t::JParameter_t 
JParameter_t
 
typedef
JOscParameter_t::argument_type 
argument_type
 

Public Member Functions

 JMixingAngle ()
 Default constructor. More...
 
 JMixingAngle (argument_type value)
 Constructor. More...
 
JMixingAngle_toperator= (argument_type value)
 Assignment operator. More...
 
bool is_valid () const override
 Check validity of oscillation parameter. More...
 
void setValue (argument_type value)
 Set parameter. More...
 
const TgetValue () const
 Get value of parameter. More...
 
TgetValue ()
 Get value of parameter. More...
 
 operator const T & () const
 Type conversion operator. More...
 
 operator T & ()
 Type conversion operator. More...
 
const bool isDefined () const
 Get status of parameter. More...
 
bool less (const JParameter< T > &parameter) const
 Less than method. More...
 

Static Public Member Functions

static JMixingAngle_t make_parameter (argument_type value)
 Auxiliary function to create a mixing angle parameter. More...
 

Protected Attributes

T __value
 
bool is_defined
 

Detailed Description

template<class T = double>
struct JOSCPROB::JMixingAngle< T >

Implementation of oscillation mixing angle.

Definition at line 27 of file JMixingAngle.hh.

Member Typedef Documentation

template<class T = double>
typedef JMixingAngle<T> JOSCPROB::JMixingAngle< T >::JMixingAngle_t

Definition at line 30 of file JMixingAngle.hh.

template<class T = double>
typedef JOscParameter<T> JOSCPROB::JMixingAngle< T >::JOscParameter_t

Definition at line 31 of file JMixingAngle.hh.

template<class T = double>
typedef JOscParameter_t::JParameter_t JOSCPROB::JMixingAngle< T >::JParameter_t

Definition at line 33 of file JMixingAngle.hh.

template<class T = double>
typedef JOscParameter_t::argument_type JOSCPROB::JMixingAngle< T >::argument_type

Definition at line 34 of file JMixingAngle.hh.

Constructor & Destructor Documentation

template<class T = double>
JOSCPROB::JMixingAngle< T >::JMixingAngle ( )
inline

Default constructor.

Definition at line 40 of file JMixingAngle.hh.

40  :
42  {}
JOscParameter< T > JOscParameter_t
Definition: JMixingAngle.hh:31
template<class T = double>
JOSCPROB::JMixingAngle< T >::JMixingAngle ( argument_type  value)
inlineexplicit

Constructor.

Parameters
valuemixing angle value [rad]

Definition at line 50 of file JMixingAngle.hh.

50  :
51  JOscParameter_t(value)
52  {
53  using namespace JPP;
54 
55  if (!is_valid()) {
56  THROW(JValueOutOfRange, "JMixingAngle::JMixingAngle(): Invalid mixing angle " << value);
57  }
58  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
JOscParameter< T > JOscParameter_t
Definition: JMixingAngle.hh:31
bool is_valid() const override
Check validity of oscillation parameter.
Definition: JMixingAngle.hh:80

Member Function Documentation

template<class T = double>
JMixingAngle_t& JOSCPROB::JMixingAngle< T >::operator= ( argument_type  value)
inline

Assignment operator.

Parameters
valuemixing angle value [rad]
Returns
mixing angle

Definition at line 67 of file JMixingAngle.hh.

68  {
69  this->setValue(value);
70 
71  return *this;
72  }
void setValue(argument_type value)
Set parameter.
template<class T = double>
bool JOSCPROB::JMixingAngle< T >::is_valid ( ) const
inlineoverridevirtual

Check validity of oscillation parameter.

Returns
true if valid; else false

Implements JOSCPROB::JOscParameter< T >.

Definition at line 80 of file JMixingAngle.hh.

81  {
82  const T& angle = this->getValue();
83 
84  return this->isDefined() ? !(angle < 0.0 || angle > M_PI / 2.0) : true;
85  }
const bool isDefined() const
Get status of parameter.
Definition: JParameter.hh:137
do set_variable OUTPUT_DIRECTORY $WORKDIR T
const T & getValue() const
Get value of parameter.
Definition: JParameter.hh:81
template<class T = double>
static JMixingAngle_t JOSCPROB::JMixingAngle< T >::make_parameter ( argument_type  value)
inlinestatic

Auxiliary function to create a mixing angle parameter.

Parameters
valuemixing angle value [rad]
Returns
mixing angle parameter

Definition at line 94 of file JMixingAngle.hh.

95  {
96  return JMixingAngle_t(value);
97  }
JMixingAngle< T > JMixingAngle_t
Definition: JMixingAngle.hh:30
template<class T = double>
void JOSCPROB::JOscParameter< T >::setValue ( argument_type  value)
inlineinherited

Set parameter.

Parameters
valueoscillation parameter value

Definition at line 73 of file JOscParameter.hh.

74  {
75  using namespace JPP;
76 
78 
79  if (!this->is_valid()) {
80  THROW(JValueOutOfRange, "JOscParameter<T>::setValue(): Given oscillation parameter is invalid " << value);
81  }
82  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
void setValue(argument_type value)
Set value.
Definition: JParameter.hh:103
virtual bool is_valid() const =0
Check validity of oscillation parameter.
template<class T>
const T& JLANG::JParameter< T >::getValue ( ) const
inlineinherited

Get value of parameter.

Returns
value

Definition at line 81 of file JParameter.hh.

82  {
83  return __value;
84  }
template<class T>
T& JLANG::JParameter< T >::getValue ( )
inlineinherited

Get value of parameter.

Returns
value

Definition at line 92 of file JParameter.hh.

93  {
94  return __value;
95  }
template<class T>
JLANG::JParameter< T >::operator const T & ( ) const
inlineinherited

Type conversion operator.

Returns
value

Definition at line 115 of file JParameter.hh.

116  {
117  return getValue();
118  }
const T & getValue() const
Get value of parameter.
Definition: JParameter.hh:81
template<class T>
JLANG::JParameter< T >::operator T & ( )
inlineinherited

Type conversion operator.

Returns
value

Definition at line 126 of file JParameter.hh.

127  {
128  return getValue();
129  }
const T & getValue() const
Get value of parameter.
Definition: JParameter.hh:81
template<class T>
const bool JLANG::JParameter< T >::isDefined ( ) const
inlineinherited

Get status of parameter.

Returns
true if value has been defined (by read or assignment); else false

Definition at line 137 of file JParameter.hh.

138  {
139  return is_defined;
140  }
template<class T>
bool JLANG::JParameter< T >::less ( const JParameter< T > &  parameter) const
inlineinherited

Less than method.

This method evaluates to true if both parameter values are defined and this value is less than the value of the given parameter object.

Parameters
parameterparameter
Returns
true if both defined and first value less than second value; else false

Definition at line 152 of file JParameter.hh.

153  {
154  return this->isDefined() && parameter.isDefined() && this->getValue() < parameter.getValue();
155  }
const bool isDefined() const
Get status of parameter.
Definition: JParameter.hh:137
const T & getValue() const
Get value of parameter.
Definition: JParameter.hh:81

Member Data Documentation

template<class T>
T JLANG::JParameter< T >::__value
protectedinherited

Definition at line 193 of file JParameter.hh.

template<class T>
bool JLANG::JParameter< T >::is_defined
protectedinherited

Definition at line 194 of file JParameter.hh.


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