Jpp  18.3.0
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 | Friends | List of all members
JOSCPROB::JOscParametersInterface< T > Class Template Referenceabstract

Interface class for sets of oscillation parameters. More...

#include <JOscParametersInterface.hh>

Inheritance diagram for JOSCPROB::JOscParametersInterface< T >:
JLANG::JClonable< JClonable_t, JDerived_t > JIO::JSerialisable

Public Types

typedef
JOscParametersInterface< T
JOscParametersInterface_t
 
typedef JOscParameter< TJOscParameter_t
 
typedef
JOscParameter_t::JParameter_t 
JParameter_t
 
typedef JParameter_t::argument_type argument_type
 
typedef JClonable< JClonable_t >
::clone_type 
clone_type
 

Public Member Functions

 JOscParametersInterface ()
 Default constructor. More...
 
 ~JOscParametersInterface ()
 Virtual destructor. More...
 
virtual JProperties getProperties (const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())=0
 Get properties of this class. More...
 
virtual JProperties getProperties (const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters()) const =0
 Get properties of this class. More...
 
JOscParametersInterface_tgetParameters ()
 Get oscillation parameters. More...
 
void set (const std::string &name, argument_type value)
 Set value for a given oscillation parameter. More...
 
template<class... Args>
void set (const std::string &name, argument_type value, const Args &...args)
 Set value for given list of oscillation parameters. More...
 
void set (const JOscParametersInterface_t &parameters)
 Set oscillation parameters. More...
 
bool is_valid () const
 Check validity of oscillation parameters. More...
 
JReaderread (JReader &in) override
 Binary stream input of oscillation parameters. More...
 
JWriterwrite (JWriter &out) const override
 Binary stream output of oscillation parameters. More...
 
virtual clone_type clone () const override
 Get clone of this object. More...
 

Static Public Member Functions

static JEquationParametersgetEquationParameters ()
 Get equation parameters. More...
 
static void setEquationParameters (const JEquationParameters &equation)
 Set equation parameters. More...
 

Friends

std::istream & operator>> (std::istream &in, JOscParametersInterface_t &parameters)
 Stream input of oscillation parameters. More...
 
std::ostream & operator<< (std::ostream &out, const JOscParametersInterface_t &parameters)
 Stream output of oscillation parameters. More...
 

Detailed Description

template<class T = double>
class JOSCPROB::JOscParametersInterface< T >

Interface class for sets of oscillation parameters.

Definition at line 46 of file JOscParametersInterface.hh.

Member Typedef Documentation

Definition at line 52 of file JOscParametersInterface.hh.

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

Definition at line 53 of file JOscParametersInterface.hh.

Definition at line 55 of file JOscParametersInterface.hh.

Definition at line 57 of file JOscParametersInterface.hh.

template<class JClonable_t, class JDerived_t = JNullType>
typedef JClonable<JClonable_t>::clone_type JLANG::JClonable< JClonable_t, JDerived_t >::clone_type
inherited

Definition at line 61 of file JClonable.hh.

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 63 of file JOscParametersInterface.hh.

64  {}
template<class T = double>
JOSCPROB::JOscParametersInterface< T >::~JOscParametersInterface ( )
inline

Virtual destructor.

Definition at line 70 of file JOscParametersInterface.hh.

71  {}

Member Function Documentation

template<class T = double>
virtual JProperties JOSCPROB::JOscParametersInterface< T >::getProperties ( const JEquationParameters equation = JOscParametersInterface_t::getEquationParameters())
pure virtual

Get properties of this class.

Parameters
equationequation parameters
Returns
properties of this class
template<class T = double>
virtual JProperties JOSCPROB::JOscParametersInterface< T >::getProperties ( const JEquationParameters equation = JOscParametersInterface_t::getEquationParameters()) const
pure virtual

Get properties of this class.

Parameters
equationequation parameters
Returns
properties of this class
template<class T = double>
JOscParametersInterface_t& JOSCPROB::JOscParametersInterface< T >::getParameters ( )
inline

Get oscillation parameters.

Returns
reference to oscillation parameters

Definition at line 97 of file JOscParametersInterface.hh.

98  {
99  return static_cast<JOscParametersInterface_t&>(*this);
100  }
JOscParametersInterface< T > JOscParametersInterface_t
template<class T = double>
void JOSCPROB::JOscParametersInterface< T >::set ( const std::string name,
argument_type  value 
)
inline

Set value for a given oscillation parameter.

Parameters
nameparameter name
valueparameter value

Definition at line 109 of file JOscParametersInterface.hh.

111  {
112  using namespace std;
113  using namespace JPP;
114 
115  JProperties properties = this->getProperties();
116 
117  JOscParameter_t& parameter = properties.getValue<JOscParameter_t>(name);
118 
119  parameter.setValue(value);
120  }
then echo Enter input within $TIMEOUT_S seconds echo n User name
Definition: JCookie.sh:42
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.
template<class T = double>
template<class... Args>
void JOSCPROB::JOscParametersInterface< T >::set ( const std::string name,
argument_type  value,
const Args &...  args 
)
inline

Set value for given list of oscillation parameters.

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

Definition at line 131 of file JOscParametersInterface.hh.

134  {
135  set(name, value);
136  set(args...);
137  }
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>
void JOSCPROB::JOscParametersInterface< T >::set ( const JOscParametersInterface_t parameters)
inline

Set oscillation parameters.

Parameters
parametersoscillation parameters

Definition at line 145 of file JOscParametersInterface.hh.

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

Check validity of oscillation parameters.

Returns
true if all oscillation parameters are valid; else false

Definition at line 166 of file JOscParametersInterface.hh.

167  {
168  bool valid = true;
169 
170  const JProperties properties = this->getProperties();
171 
172  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend() && valid; ++i) {
173 
174  const JOscParameter_t& parameter = i->second.getValue<const JOscParameter_t>();
175 
176  valid = parameter.is_valid();
177  }
178 
179  return valid;
180  }
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.
template<class T = double>
static JEquationParameters& JOSCPROB::JOscParametersInterface< T >::getEquationParameters ( )
inlinestatic

Get equation parameters.

Returns
equation parameters

Definition at line 188 of file JOscParametersInterface.hh.

189  {
190  static JEquationParameters equation("=", "\n\r;,", "./", "#");
191 
192  return equation;
193  }
Simple data structure to support I/O of equations (see class JLANG::JEquation).
template<class T = double>
static void JOSCPROB::JOscParametersInterface< T >::setEquationParameters ( const JEquationParameters equation)
inlinestatic

Set equation parameters.

Parameters
equationequation parameters

Definition at line 201 of file JOscParametersInterface.hh.

202  {
203  getEquationParameters() = equation;
204  }
static JEquationParameters & getEquationParameters()
Get equation parameters.
template<class T = double>
JReader& JOSCPROB::JOscParametersInterface< T >::read ( JReader in)
inlineoverridevirtual

Binary stream input of oscillation parameters.

Parameters
ininput stream
Returns
input stream

Implements JIO::JSerialisable.

Definition at line 213 of file JOscParametersInterface.hh.

214  {
215  JProperties properties = this->getProperties();
216 
217  for (JProperties::iterator i = properties.begin(); i != properties.end(); ++i) {
218 
219  bool is_defined;
220  T value;
221 
222  if ((in >> is_defined >> value) && is_defined) {
223 
224  JOscParameter_t& parameter = i->second.getValue<JOscParameter_t>();
225 
226  parameter.setValue(value);
227  }
228  }
229 
230  return in;
231  }
Utility class to parse parameter values.
Definition: JProperties.hh:497
do set_variable OUTPUT_DIRECTORY $WORKDIR T
virtual JProperties getProperties(const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())=0
Get properties of this class.
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:48
template<class T = double>
JWriter& JOSCPROB::JOscParametersInterface< T >::write ( JWriter out) const
inlineoverridevirtual

Binary stream output of oscillation parameters.

Parameters
outoutput stream
Returns
output stream

Implements JIO::JSerialisable.

Definition at line 240 of file JOscParametersInterface.hh.

241  {
242  const JProperties properties = this->getProperties();
243 
244  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend(); ++i) {
245 
246  const JOscParameter_t& parameter = i->second.getValue<const JOscParameter_t>();
247 
248  out << parameter.isDefined() << parameter.getValue();
249  }
250 
251  return out;
252  }
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.
template<class JClonable_t, class JDerived_t = JNullType>
virtual clone_type JLANG::JClonable< JClonable_t, JDerived_t >::clone ( ) const
inlineoverridevirtualinherited

Friends And Related Function Documentation

template<class T = double>
std::istream& operator>> ( std::istream &  in,
JOscParametersInterface_t parameters 
)
friend

Stream input of oscillation parameters.

Parameters
ininput stream
parametersoscillation parameters
Returns
input stream

Definition at line 262 of file JOscParametersInterface.hh.

263  {
264  using namespace std;
265  using namespace JPP;
266 
267  JStringStream is(in);
268 
269  if (getFileStatus(is.str().c_str())) {
270  is.load();
271  }
272 
273  JProperties properties = parameters.getProperties();
274  is >> properties;
275 
276  return in;
277  }
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
is
Definition: JDAQCHSM.chsm:167
static JStat getFileStatus
Function object for file status.
Definition: JStat.hh:173
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:48
template<class T = double>
std::ostream& operator<< ( std::ostream &  out,
const JOscParametersInterface_t parameters 
)
friend

Stream output of oscillation parameters.

Parameters
outoutput stream
parametersoscillation parameters
Returns
output stream

Definition at line 287 of file JOscParametersInterface.hh.

288  {
289  return out << parameters.getProperties();
290  }
*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

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