Jpp  18.3.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 | 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...
 
JPropertiesgetPropertiesInstance (const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())
 Get instance of properties of this class. More...
 
JPropertiesgetPropertiesInstance (const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters()) const
 Get instance of 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>
JProperties& JOSCPROB::JOscParametersInterface< T >::getPropertiesInstance ( const JEquationParameters equation = JOscParametersInterface_t::getEquationParameters())
inline

Get instance of properties of this class.

Parameters
equationequation parameters
Returns
instance of properties of this class

Definition at line 98 of file JOscParametersInterface.hh.

99  {
100  static JProperties properties = getProperties(equation);
101 
102  return properties;
103  }
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>
JProperties& JOSCPROB::JOscParametersInterface< T >::getPropertiesInstance ( const JEquationParameters equation = JOscParametersInterface_t::getEquationParameters()) const
inline

Get instance of properties of this class.

Parameters
equationequation parameters
Returns
instance of properties of this class

Definition at line 112 of file JOscParametersInterface.hh.

113  {
114  static JProperties properties = getProperties(equation);
115 
116  return properties;
117  }
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>
JOscParametersInterface_t& JOSCPROB::JOscParametersInterface< T >::getParameters ( )
inline

Get oscillation parameters.

Returns
reference to oscillation parameters

Definition at line 125 of file JOscParametersInterface.hh.

126  {
127  return static_cast<JOscParametersInterface_t&>(*this);
128  }
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 137 of file JOscParametersInterface.hh.

139  {
140  using namespace std;
141  using namespace JPP;
142 
143  JProperties& properties = this->getPropertiesInstance();
144 
145  JOscParameter_t& parameter = properties.getValue<JOscParameter_t>(name);
146 
147  parameter.setValue(value);
148  }
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
JProperties & getPropertiesInstance(const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())
Get instance of 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 159 of file JOscParametersInterface.hh.

162  {
163  set(name, value);
164  set(args...);
165  }
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 173 of file JOscParametersInterface.hh.

174  {
175  using namespace std;
176  using namespace JPP;
177 
178  const JProperties& properties = parameters.getPropertiesInstance();
179 
180  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend(); ++i) {
181  const JOscParameter_t& parameter = i->second.getValue<const JOscParameter_t>();
182 
183  this->set(i->first, parameter.getValue());
184  }
185  }
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 193 of file JOscParametersInterface.hh.

194  {
195  bool valid = true;
196 
197  const JProperties& properties = this->getPropertiesInstance();
198 
199  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend() && valid; ++i) {
200 
201  const JOscParameter_t& parameter = i->second.getValue<const JOscParameter_t>();
202 
203  valid = parameter.is_valid();
204  }
205 
206  return valid;
207  }
Utility class to parse parameter values.
Definition: JProperties.hh:497
JProperties & getPropertiesInstance(const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())
Get instance of properties of this class.
template<class T = double>
static JEquationParameters& JOSCPROB::JOscParametersInterface< T >::getEquationParameters ( )
inlinestatic

Get equation parameters.

Returns
equation parameters

Definition at line 215 of file JOscParametersInterface.hh.

216  {
217  static JEquationParameters equation("=", "\n\r;,", "./", "#");
218 
219  return equation;
220  }
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 228 of file JOscParametersInterface.hh.

229  {
230  getEquationParameters() = equation;
231  }
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 240 of file JOscParametersInterface.hh.

241  {
242  JProperties& properties = this->getPropertiesInstance();
243 
244  for (JProperties::iterator i = properties.begin(); i != properties.end(); ++i) {
245 
246  bool is_defined;
247  T value;
248 
249  if ((in >> is_defined >> value) && is_defined) {
250 
251  JOscParameter_t& parameter = i->second.getValue<JOscParameter_t>();
252 
253  parameter.setValue(value);
254  }
255  }
256 
257  return in;
258  }
Utility class to parse parameter values.
Definition: JProperties.hh:497
do set_variable OUTPUT_DIRECTORY $WORKDIR T
JProperties & getPropertiesInstance(const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())
Get instance of 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 267 of file JOscParametersInterface.hh.

268  {
269  const JProperties& properties = this->getPropertiesInstance();
270 
271  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend(); ++i) {
272 
273  const JOscParameter_t& parameter = i->second.getValue<const JOscParameter_t>();
274 
275  out << parameter.isDefined() << parameter.getValue();
276  }
277 
278  return out;
279  }
Utility class to parse parameter values.
Definition: JProperties.hh:497
JProperties & getPropertiesInstance(const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())
Get instance of 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 289 of file JOscParametersInterface.hh.

290  {
291  using namespace std;
292  using namespace JPP;
293 
294  JStringStream is(in);
295 
296  if (getFileStatus(is.str().c_str())) {
297  is.load();
298  }
299 
300  JProperties& properties = parameters.getPropertiesInstance();
301  is >> properties;
302 
303  return in;
304  }
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 314 of file JOscParametersInterface.hh.

315  {
316  return out << parameters.getPropertiesInstance();
317  }
*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: