Jpp  18.6.0-rc.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
JOscParameters_t::value_type 
value_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, const value_type &value) const
 Set value for a given oscillation parameter. More...
 
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. More...
 
void set (const JOscParametersInterface< value_type > &parameters) const
 Set oscillation parameters. More...
 
bool is_valid () const
 Check validity of oscillation parameters. More...
 

Detailed Description

template<class T>
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 33 of file JOscParametersHelper.hh.

Definition at line 34 of file JOscParametersHelper.hh.

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

Definition at line 36 of file JOscParametersHelper.hh.

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 44 of file JOscParametersHelper.hh.

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

Constructor.

Parameters
parametersoscillation parameters

Definition at line 53 of file JOscParametersHelper.hh.

54  {
55  this->configure(parameters);
56  }
*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>
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 68 of file JOscParametersHelper.hh.

72  {
73  this->configure(parameters);
74  this->set(name, value, args...);
75  }
virtual void set(const std::string &name, const value_type &value) const
Set value for a given oscillation parameter.
*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.
then fatal The output file must have the wildcard in the name
Definition: JCanberra.sh:31

Member Function Documentation

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

Configure oscillation parameters.

Parameters
parametersoscillation parameters

Definition at line 83 of file JOscParametersHelper.hh.

84  {
85  using namespace std;
86  using namespace JPP;
87 
88  JOscParameters_t* p = dynamic_cast<JOscParameters_t*>(parameters.clone());
89 
90  if (p != NULL) {
91  reset(p);
92  } else {
93  THROW(JNullPointerException, "JOscParametersHelper::configure(): Unable to retrieve oscillation parameters interface.");
94  }
95  }
#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>
JOscParameters_t& JOSCPROB::JOscParametersHelper< T >::getParameters ( ) const
inline

Get reference to oscillation parameters interface.

Returns
reference to oscillation parameters interface

Definition at line 103 of file JOscParametersHelper.hh.

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

Set value for a given oscillation parameter.

Parameters
nameparameter name
valueparameter value

Definition at line 121 of file JOscParametersHelper.hh.

123  {
124  getParameters().set(name, value);
125  }
JOscParameters_t & getParameters() const
Get reference to oscillation parameters interface.
void set(const std::string &name, const value_type &value)
Set value for a given oscillation parameter.
then fatal The output file must have the wildcard in the name
Definition: JCanberra.sh:31
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 136 of file JOscParametersHelper.hh.

139  {
140  this->set(name, value);
141  this->set(args...);
142  }
virtual void set(const std::string &name, const value_type &value) const
Set value for a given oscillation parameter.
then fatal The output file must have the wildcard in the name
Definition: JCanberra.sh:31
template<class T>
void JOSCPROB::JOscParametersHelper< T >::set ( const JOscParametersInterface< value_type > &  parameters) const
inline

Set oscillation parameters.

Parameters
parametersoscillation parameters

Definition at line 150 of file JOscParametersHelper.hh.

151  {
152  using namespace std;
153  using namespace JPP;
154 
155  const JProperties properties = parameters.getProperties();
156 
157  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend(); ++i) {
158  const JOscParameter<value_type>& parameter = i->second.getValue<const JOscParameter<value_type> >();
159 
160  this->set(i->first, parameter.getValue());
161  }
162  }
Abstract base class for oscillation parameter.
virtual void set(const std::string &name, const value_type &value) const
Set value for a given oscillation parameter.
Utility class to parse parameter values.
Definition: JProperties.hh:497
virtual JProperties getProperties(const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())=0
Get properties of this class.
const value_type getValue() const
Get value of parameter.
Definition: JParameter.hh:82
template<class T>
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 170 of file JOscParametersHelper.hh.

171  {
172  return getParameters().is_valid();
173  }
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: