Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JOSCPROB::JOscParametersHelper< T > Struct Template Reference

Helper class for oscillation parameters. More...

#include <JOscParametersHelper.hh>

Inheritance diagram for JOSCPROB::JOscParametersHelper< T >:

Public Types

typedef JOscParametersHelper< T > JOscParametersHelper_t
 
typedef JOscParametersInterface< T > JOscParameters_t
 
typedef JOscParameters_t::JOscParameter_t JOscParameter_t
 
typedef JOscParameters_t::JParameter_t JParameter_t
 
typedef JOscParameters_t::argument_type argument_type
 
typedef JOscParameters_t::value_type value_type
 
typedef std::unique_ptr< JOscParameters_tpointer_type
 

Public Member Functions

 JOscParametersHelper ()
 Default constructor.
 
 JOscParametersHelper (const pointer_type &p)
 Copy constructor.
 
 JOscParametersHelper (const JOscParameters_t &parameters)
 Constructor.
 
template<class ... Args>
 JOscParametersHelper (const JOscParameters_t &parameters, const std::string &name, argument_type value, const Args &...args)
 Constructor.
 
void configure (const pointer_type &p)
 Configure oscillation parameters.
 
void configure (const JOscParameters_t &parameters)
 Configure oscillation parameters.
 
JOscParameters_tgetParameters () const
 Get reference to oscillation parameters interface.
 
JOscParameters_tget () const
 Get pointer to oscillation parameters interface.
 
JOscParameter_tget (const std::string &name) const
 Get oscillation parameter.
 
void set (const std::string &name, const value_type &value) const
 Set value for a given oscillation parameter.
 
template<class ... Args>
void set (const std::string &name, const value_type &value, const Args &...args) const
 Set value for given list of oscillation parameters.
 
void set (const JOscParametersInterface< value_type > &parameters) const
 Set oscillation parameters.
 
virtual JProperties getProperties (const JEquationParameters &equation=JOscParameters_t::getEquationParameters())
 Get properties of this class.
 
virtual JProperties getProperties (const JEquationParameters &equation=JOscParameters_t::getEquationParameters()) const
 Get properties of this class.
 

Detailed Description

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

Helper class for oscillation parameters.

Definition at line 26 of file JOscParametersHelper.hh.

Member Typedef Documentation

◆ JOscParametersHelper_t

template<class T >
JOscParametersHelper<T> JOSCPROB::JOscParametersHelper< T >::JOscParametersHelper_t

Definition at line 29 of file JOscParametersHelper.hh.

◆ JOscParameters_t

template<class T >
JOscParametersInterface<T> JOSCPROB::JOscParametersHelper< T >::JOscParameters_t

Definition at line 30 of file JOscParametersHelper.hh.

◆ JOscParameter_t

template<class T >
JOscParameters_t::JOscParameter_t JOSCPROB::JOscParametersHelper< T >::JOscParameter_t

Definition at line 32 of file JOscParametersHelper.hh.

◆ JParameter_t

template<class T >
JOscParameters_t::JParameter_t JOSCPROB::JOscParametersHelper< T >::JParameter_t

Definition at line 33 of file JOscParametersHelper.hh.

◆ argument_type

template<class T >
JOscParameters_t::argument_type JOSCPROB::JOscParametersHelper< T >::argument_type

Definition at line 35 of file JOscParametersHelper.hh.

◆ value_type

template<class T >
JOscParameters_t::value_type JOSCPROB::JOscParametersHelper< T >::value_type

Definition at line 36 of file JOscParametersHelper.hh.

◆ pointer_type

template<class T >
std::unique_ptr<JOscParameters_t> JOSCPROB::JOscParametersHelper< T >::pointer_type

Definition at line 38 of file JOscParametersHelper.hh.

Constructor & Destructor Documentation

◆ JOscParametersHelper() [1/4]

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

Default constructor.

Definition at line 44 of file JOscParametersHelper.hh.

44 :
46 {}
std::unique_ptr< JOscParameters_t > pointer_type

◆ JOscParametersHelper() [2/4]

template<class T >
JOSCPROB::JOscParametersHelper< T >::JOscParametersHelper ( const pointer_type & p)
inline

Copy constructor.

Parameters
ppointer to oscillation parameters

Definition at line 54 of file JOscParametersHelper.hh.

55 {
56 this->configure(p);
57 }
void configure(const pointer_type &p)
Configure oscillation parameters.

◆ JOscParametersHelper() [3/4]

template<class T >
JOSCPROB::JOscParametersHelper< T >::JOscParametersHelper ( const JOscParameters_t & parameters)
inline

Constructor.

Parameters
parametersoscillation parameters

Definition at line 65 of file JOscParametersHelper.hh.

66 {
67 this->configure(parameters);
68 }

◆ JOscParametersHelper() [4/4]

template<class T >
template<class ... Args>
JOSCPROB::JOscParametersHelper< T >::JOscParametersHelper ( const JOscParameters_t & parameters,
const std::string & name,
argument_type value,
const Args &... args )
inline

Constructor.

Parameters
parametersoscillation parameters
nameparameter name
valueparameter value
argsremaining pairs of parameter names and values

Definition at line 80 of file JOscParametersHelper.hh.

84 {
85 this->configure(parameters);
86 this->set(name, value, args...);
87 }
void set(const std::string &name, const value_type &value) const
Set value for a given oscillation parameter.

Member Function Documentation

◆ configure() [1/2]

template<class T >
void JOSCPROB::JOscParametersHelper< T >::configure ( const pointer_type & p)
inline

Configure oscillation parameters.

Parameters
punique pointer to oscillation parameters

Definition at line 95 of file JOscParametersHelper.hh.

96 {
97 if (p) { this->reset(p->clone()); }
98 }
void reset(T &value)
Reset value.

◆ configure() [2/2]

template<class T >
void JOSCPROB::JOscParametersHelper< T >::configure ( const JOscParameters_t & parameters)
inline

Configure oscillation parameters.

Parameters
parametersoscillation parameters

Definition at line 106 of file JOscParametersHelper.hh.

107 {
108 using namespace std;
109 using namespace JPP;
110
111 JOscParameters_t* p = dynamic_cast<JOscParameters_t*>(parameters.clone());
112
113 if (p != NULL) {
114 this->reset(p);
115 } else {
116 THROW(JNullPointerException, "JOscParametersHelper::configure(): Unable to retrieve oscillation parameters interface.");
117 }
118 }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Exception for null pointer operation.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
JOscParametersInterface< T > JOscParameters_t

◆ getParameters()

template<class T >
JOscParameters_t & JOSCPROB::JOscParametersHelper< T >::getParameters ( ) const
inline

Get reference to oscillation parameters interface.

Returns
reference to oscillation parameters interface

Definition at line 126 of file JOscParametersHelper.hh.

127 {
128 using namespace JPP;
129
130 if (static_cast<const JOscParametersHelper_t&>(*this)) {
131 return *(this->get());
132 } else {
133 THROW(JNullPointerException, "JOscParametersHelper::getParameters(): Oscillation parameters interface is not set.");
134 }
135 }
JOscParametersHelper< T > JOscParametersHelper_t
JOscParameters_t * get() const
Get pointer to oscillation parameters interface.

◆ get() [1/2]

template<class T >
JOscParameters_t * JOSCPROB::JOscParametersHelper< T >::get ( ) const
inline

Get pointer to oscillation parameters interface.

Returns
pointer to oscillation parameters interface

Definition at line 143 of file JOscParametersHelper.hh.

144 {
145 return pointer_type::get();
146 }

◆ get() [2/2]

template<class T >
JOscParameter_t & JOSCPROB::JOscParametersHelper< T >::get ( const std::string & name) const
inline

Get oscillation parameter.

Parameters
nameparameter name
Returns
parameter

Definition at line 155 of file JOscParametersHelper.hh.

156 {
157 return getParameters().get(name);
158 }
const JOscParameter_t & get(const std::string &name) const
Get oscillation parameter.
JOscParameters_t & getParameters() const
Get reference to oscillation parameters interface.

◆ set() [1/3]

template<class T >
void JOSCPROB::JOscParametersHelper< T >::set ( const std::string & name,
const value_type & value ) const
inline

Set value for a given oscillation parameter.

Parameters
nameparameter name
valueparameter value

Definition at line 168 of file JOscParametersHelper.hh.

170 {
171 getParameters().set(name, value);
172 }
void set(const std::string &name, const value_type &value)
Set value for a given oscillation parameter.

◆ set() [2/3]

template<class T >
template<class ... Args>
void JOSCPROB::JOscParametersHelper< T >::set ( const std::string & name,
const value_type & value,
const Args &... args ) const
inline

Set value for given list of oscillation parameters.

Parameters
nameparameter name
valueparameter value
argsremaining pairs of parameter names and values

Definition at line 183 of file JOscParametersHelper.hh.

186 {
187 this->set(name, value);
188 this->set(args...);
189 }

◆ set() [3/3]

template<class T >
void JOSCPROB::JOscParametersHelper< T >::set ( const JOscParametersInterface< value_type > & parameters) const
inline

Set oscillation parameters.

Parameters
parametersoscillation parameters

Definition at line 197 of file JOscParametersHelper.hh.

198 {
199 using namespace std;
200 using namespace JPP;
201
202 const JProperties properties = parameters.getProperties();
203
204 for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend(); ++i) {
205
206 const JOscParameter<value_type>& parameter = i->second.getValue<const JOscParameter<value_type> >();
207
208 this->set(i->first, parameter.getValue());
209 }
210 }
Utility class to parse parameter values.
const value_type getValue() const
Get value of parameter.
Definition JParameter.hh:82
Abstract base class for oscillation parameter.

◆ getProperties() [1/2]

template<class T >
virtual JProperties JOSCPROB::JOscParametersHelper< T >::getProperties ( const JEquationParameters & equation = JOscParameters_t::getEquationParameters())
inlinevirtual

Get properties of this class.

Parameters
equationequation parameters
Returns
properties of this class

Definition at line 219 of file JOscParametersHelper.hh.

220 {
221 return getParameters().getProperties(equation);
222 }
virtual JProperties getProperties(const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())=0
Get properties of this class.

◆ getProperties() [2/2]

template<class T >
virtual JProperties JOSCPROB::JOscParametersHelper< T >::getProperties ( const JEquationParameters & equation = JOscParameters_t::getEquationParameters()) const
inlinevirtual

Get properties of this class.

Parameters
equationequation parameters
Returns
properties of this class

Definition at line 231 of file JOscParametersHelper.hh.

232 {
233 return getParameters().getProperties(equation);
234 }

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