Jpp  master_rocky-37-gf0c5bc59d
the software that should make you happy
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
JOSCPROB::JMixingAngle< T > Struct Template Referencefinal

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< T > JMixingAngle_t
 
typedef JOscParameter< T > JOscParameter_t
 
typedef JOscParameter_t::JParameter_t JParameter_t
 
typedef JOscParameter_t::argument_type argument_type
 
typedef JOscParameter_t::value_type value_type
 

Public Member Functions

 JMixingAngle ()
 Default constructor. More...
 
 JMixingAngle (argument_type value)
 Constructor. More...
 
JMixingAngle_toperator= (const value_type &value)
 Assignment operator. More...
 
bool is_valid () const override final
 Check validity of oscillation parameter. More...
 
void setValue (const value_type &value)
 Set parameter. More...
 
const value_type getValue () const
 Get value of parameter. More...
 
 operator const value_type () const
 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

__value
 
bool is_defined
 

Detailed Description

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

Implementation of oscillation mixing angle.

Definition at line 27 of file JMixingAngle.hh.

Member Typedef Documentation

◆ JMixingAngle_t

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

Definition at line 30 of file JMixingAngle.hh.

◆ JOscParameter_t

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

Definition at line 31 of file JMixingAngle.hh.

◆ JParameter_t

Definition at line 33 of file JMixingAngle.hh.

◆ argument_type

Definition at line 34 of file JMixingAngle.hh.

◆ value_type

Definition at line 35 of file JMixingAngle.hh.

Constructor & Destructor Documentation

◆ JMixingAngle() [1/2]

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

Default constructor.

Definition at line 41 of file JMixingAngle.hh.

41  :
43  {}
JOscParameter< T > JOscParameter_t
Definition: JMixingAngle.hh:31

◆ JMixingAngle() [2/2]

template<class T >
JOSCPROB::JMixingAngle< T >::JMixingAngle ( argument_type  value)
inlineexplicit

Constructor.

Parameters
valuemixing angle value [rad]

Definition at line 51 of file JMixingAngle.hh.

51  :
52  JOscParameter_t(value)
53  {
54  using namespace JPP;
55 
56  if (!is_valid()) {
57  THROW(JValueOutOfRange, "JMixingAngle::JMixingAngle(): Invalid mixing angle " << value);
58  }
59  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
Exception for accessing a value in a collection that is outside of its range.
Definition: JException.hh:180
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
bool is_valid() const override final
Check validity of oscillation parameter.
Definition: JMixingAngle.hh:81

Member Function Documentation

◆ operator=()

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

Assignment operator.

Parameters
valuemixing angle value [rad]
Returns
mixing angle

Definition at line 68 of file JMixingAngle.hh.

69  {
70  this->setValue(value);
71 
72  return *this;
73  }
void setValue(const value_type &value)
Set parameter.

◆ is_valid()

template<class T >
bool JOSCPROB::JMixingAngle< T >::is_valid ( ) const
inlinefinaloverridevirtual

Check validity of oscillation parameter.

Returns
true if valid; else false

Implements JOSCPROB::JOscParameter< T >.

Definition at line 81 of file JMixingAngle.hh.

82  {
83  const value_type angle = this->getValue();
84 
85  return this->isDefined() ? !(angle < 0.0 || angle > M_PI / 2.0) : true;
86  }
const value_type getValue() const
Get value of parameter.
Definition: JParameter.hh:82
const bool isDefined() const
Get status of parameter.
Definition: JParameter.hh:116
JOscParameter_t::value_type value_type
Definition: JMixingAngle.hh:35

◆ make_parameter()

template<class T >
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 95 of file JMixingAngle.hh.

96  {
97  return JMixingAngle_t(value);
98  }
JMixingAngle< T > JMixingAngle_t
Definition: JMixingAngle.hh:30

◆ setValue()

template<class T >
void JOSCPROB::JOscParameter< T >::setValue ( const value_type value)
inlineinherited

Set parameter.

Parameters
valueoscillation parameter value

Definition at line 74 of file JOscParameter.hh.

75  {
76  using namespace JPP;
77 
79 
80  if (!this->is_valid()) {
81  THROW(JValueOutOfRange, "JOscParameter<T>::setValue(): Given oscillation parameter is invalid " << value);
82  }
83  }
void setValue(const value_type &value)
Set value.
Definition: JParameter.hh:93
virtual bool is_valid() const =0
Check validity of oscillation parameter.

◆ getValue()

template<class T >
const value_type JLANG::JParameter< T >::getValue ( ) const
inlineinherited

Get value of parameter.

Returns
value

Definition at line 82 of file JParameter.hh.

83  {
84  return __value;
85  }

◆ operator const value_type()

template<class T >
JLANG::JParameter< T >::operator const value_type ( ) const
inlineinherited

Type conversion operator.

Returns
value

Definition at line 105 of file JParameter.hh.

106  {
107  return getValue();
108  }

◆ isDefined()

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 116 of file JParameter.hh.

117  {
118  return is_defined;
119  }

◆ less()

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 131 of file JParameter.hh.

132  {
133  return this->isDefined() && parameter.isDefined() && this->getValue() < parameter.getValue();
134  }

Member Data Documentation

◆ __value

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

Definition at line 172 of file JParameter.hh.

◆ is_defined

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

Definition at line 173 of file JParameter.hh.


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