Jpp  18.3.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
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< TJOscParametersHelper_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 std::shared_ptr
< JOscParameters_t
pointer_type
 

Public Member Functions

 JOscParametersHelper ()
 Default constructor. More...
 
 JOscParametersHelper (const JOscParameters_t &parameters)
 Constructor. More...
 
template<class... Args>
 JOscParametersHelper (const JOscParameters_t &parameters, const std::string &name, argument_type value, const Args &...args)
 Constructor. More...
 
virtual void configure (const JOscParameters_t &parameters)
 Configure oscillation parameters. More...
 
JOscParameters_tgetParameters () const
 Get reference to oscillation parameters interface. More...
 
virtual void set (const std::string &name, argument_type value) const
 Set value for a given oscillation parameter. More...
 
template<class... Args>
void set (const std::string &name, argument_type value, const Args &...args) const
 Set value for given list of oscillation parameters. More...
 
void set (const JOscParameters_t &parameters) const
 Set oscillation parameters. More...
 
bool is_valid () const
 Check validity of oscillation parameters. More...
 

Detailed Description

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

Helper class for oscillation parameters.

Definition at line 24 of file JOscParametersHelper.hh.

Member Typedef Documentation

Definition at line 27 of file JOscParametersHelper.hh.

Definition at line 28 of file JOscParametersHelper.hh.

Definition at line 30 of file JOscParametersHelper.hh.

Definition at line 31 of file JOscParametersHelper.hh.

Definition at line 32 of file JOscParametersHelper.hh.

template<class T = double>
typedef std::shared_ptr<JOscParameters_t> JOSCPROB::JOscParametersHelper< T >::pointer_type

Definition at line 34 of file JOscParametersHelper.hh.

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 42 of file JOscParametersHelper.hh.

43  {}
template<class T = double>
JOSCPROB::JOscParametersHelper< T >::JOscParametersHelper ( const JOscParameters_t parameters)
inline

Constructor.

Parameters
parametersoscillation parameters

Definition at line 51 of file JOscParametersHelper.hh.

52  {
53  this->configure(parameters);
54  }
*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
virtual void configure(const JOscParameters_t &parameters)
Configure oscillation parameters.
template<class T = double>
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 66 of file JOscParametersHelper.hh.

70  {
71  this->configure(parameters);
72  this->set(name, value, args...);
73  }
then echo Enter input within $TIMEOUT_S seconds echo n User name
Definition: JCookie.sh:42
*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
virtual void set(const std::string &name, argument_type value) const
Set value for a given oscillation parameter.
virtual void configure(const JOscParameters_t &parameters)
Configure oscillation parameters.

Member Function Documentation

template<class T = double>
virtual void JOSCPROB::JOscParametersHelper< T >::configure ( const JOscParameters_t parameters)
inlinevirtual

Configure oscillation parameters.

Parameters
parametersoscillation parameters

Definition at line 81 of file JOscParametersHelper.hh.

82  {
83  using namespace std;
84  using namespace JPP;
85 
86  JOscParameters_t* p = dynamic_cast<JOscParameters_t*>(parameters.clone());
87 
88  if (p != NULL) {
89  reset(p);
90  } else {
91  THROW(JNullPointerException, "JOscParametersHelper::configure(): Unable to retrieve oscillation parameters interface.");
92  }
93  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
*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
void reset(T &value)
Reset value.
JOscParametersInterface< T > JOscParameters_t
template<class T = double>
JOscParameters_t& JOSCPROB::JOscParametersHelper< T >::getParameters ( ) const
inline

Get reference to oscillation parameters interface.

Returns
reference to oscillation parameters interface

Definition at line 101 of file JOscParametersHelper.hh.

102  {
103  using namespace JPP;
104 
105  if (static_cast<const JOscParametersHelper_t&>(*this)) {
106  return *(this->get());
107  } else {
108  THROW(JNullPointerException, "JOscParametersHelper::getParameters(): Oscillation parameters interface is not set.");
109  }
110  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
template<class T = double>
virtual void JOSCPROB::JOscParametersHelper< T >::set ( const std::string name,
argument_type  value 
) const
inlinevirtual

Set value for a given oscillation parameter.

Parameters
nameparameter name
valueparameter value

Definition at line 119 of file JOscParametersHelper.hh.

121  {
122  getParameters().set(name, value);
123  }
JOscParameters_t & getParameters() const
Get reference to oscillation parameters interface.
then echo Enter input within $TIMEOUT_S seconds echo n User name
Definition: JCookie.sh:42
void set(const std::string &name, argument_type value)
Set value for a given oscillation parameter.
template<class T = double>
template<class... Args>
void JOSCPROB::JOscParametersHelper< T >::set ( const std::string name,
argument_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 134 of file JOscParametersHelper.hh.

137  {
138  this->set(name, value);
139  this->set(args...);
140  }
then echo Enter input within $TIMEOUT_S seconds echo n User name
Definition: JCookie.sh:42
virtual void set(const std::string &name, argument_type value) const
Set value for a given oscillation parameter.
template<class T = double>
void JOSCPROB::JOscParametersHelper< T >::set ( const JOscParameters_t parameters) const
inline

Set oscillation parameters.

Parameters
parametersoscillation parameters

Definition at line 148 of file JOscParametersHelper.hh.

149  {
150  using namespace std;
151  using namespace JPP;
152 
153  const JProperties properties = parameters.getProperties();
154 
155  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend(); ++i) {
156  const JOscParameter_t& parameter = i->second.getValue<const JOscParameter_t>();
157 
158  this->set(i->first, parameter.getValue());
159  }
160  }
JOscParameters_t::JOscParameter_t JOscParameter_t
Utility class to parse parameter values.
Definition: JProperties.hh:497
*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
virtual void set(const std::string &name, argument_type value) const
Set value for a given oscillation parameter.
template<class T = double>
bool JOSCPROB::JOscParametersHelper< T >::is_valid ( ) const
inline

Check validity of oscillation parameters.

Returns
true if all oscillation parameters are valid; else false

Definition at line 168 of file JOscParametersHelper.hh.

169  {
170  return getParameters().is_valid();
171  }
JOscParameters_t & getParameters() const
Get reference to oscillation parameters interface.
bool is_valid() const
Check validity of oscillation parameters.

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