Jpp  19.0.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 > JLANG::JEquals< JFirst_t, JSecond_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 JParameter_t::value_type value_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...
 
JOscParameter_tget (const std::string &name) const
 Get oscillation parameter. More...
 
void set (const std::string &name, const value_type &value)
 Set value for a given oscillation parameter. More...
 
template<class... Args>
void set (const std::string &name, const value_type &value, const Args &...args)
 Set value for given list of oscillation parameters. More...
 
void set (const JOscParametersInterface< value_type > &parameters)
 Set oscillation parameters. More...
 
bool is_valid () const
 Check validity of oscillation parameters. More...
 
bool equals (const JOscParametersInterface< value_type > &parameters) const
 Check whether these oscillation parameters are equal to given 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>
class JOSCPROB::JOscParametersInterface< T >

Interface class for sets of oscillation parameters.

Definition at line 48 of file JOscParametersInterface.hh.

Member Typedef Documentation

Definition at line 55 of file JOscParametersInterface.hh.

Definition at line 56 of file JOscParametersInterface.hh.

Definition at line 58 of file JOscParametersInterface.hh.

Definition at line 60 of file JOscParametersInterface.hh.

Definition at line 61 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

Default constructor.

Definition at line 67 of file JOscParametersInterface.hh.

68  {}
template<class T>
JOSCPROB::JOscParametersInterface< T >::~JOscParametersInterface ( )
inline

Virtual destructor.

Definition at line 74 of file JOscParametersInterface.hh.

75  {}

Member Function Documentation

template<class T>
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>
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>
JOscParametersInterface_t& JOSCPROB::JOscParametersInterface< T >::getParameters ( )
inline

Get oscillation parameters.

Returns
reference to oscillation parameters

Definition at line 101 of file JOscParametersInterface.hh.

102  {
103  return static_cast<JOscParametersInterface_t&>(*this);
104  }
JOscParametersInterface< T > JOscParametersInterface_t
template<class T>
JOscParameter_t& JOSCPROB::JOscParametersInterface< T >::get ( const std::string &  name) const
inline

Get oscillation parameter.

Parameters
nameparameter name
Returns
parameter

Definition at line 113 of file JOscParametersInterface.hh.

114  {
115  using namespace std;
116  using namespace JPP;
117 
118  JProperties properties = this->getProperties();
119 
120  JOscParameter_t& parameter = properties.getValue<JOscParameter_t>(name);
121 
122  return parameter;
123  }
Utility class to parse parameter values.
Definition: JProperties.hh:497
then fatal The output file must have the wildcard in the name
Definition: JCanberra.sh:31
virtual JProperties getProperties(const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())=0
Get properties of this class.
template<class T>
void JOSCPROB::JOscParametersInterface< T >::set ( const std::string &  name,
const value_type value 
)
inline

Set value for a given oscillation parameter.

Parameters
nameparameter name
valueparameter value

Definition at line 132 of file JOscParametersInterface.hh.

134  {
135  using namespace std;
136  using namespace JPP;
137 
138  JProperties properties = this->getProperties();
139 
140  JOscParameter_t& parameter = properties.getValue<JOscParameter_t>(name);
141 
142  parameter.setValue(value);
143  }
Utility class to parse parameter values.
Definition: JProperties.hh:497
then fatal The output file must have the wildcard in the name
Definition: JCanberra.sh:31
virtual JProperties getProperties(const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())=0
Get properties of this class.
template<class T>
template<class... Args>
void JOSCPROB::JOscParametersInterface< T >::set ( const std::string &  name,
const value_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 154 of file JOscParametersInterface.hh.

157  {
158  set(name, value);
159  set(args...);
160  }
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>
void JOSCPROB::JOscParametersInterface< T >::set ( const JOscParametersInterface< value_type > &  parameters)
inline

Set oscillation parameters.

Parameters
parametersoscillation parameters

Definition at line 168 of file JOscParametersInterface.hh.

169  {
170  using namespace std;
171  using namespace JPP;
172 
173  JProperties properties = parameters.getProperties();
174 
175  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend(); ++i) {
176 
177  const JOscParameter_t& parameter = i->second.getValue<const JOscParameter_t>();
178 
179  this->set(i->first, parameter.getValue());
180  }
181  }
Utility class to parse parameter values.
Definition: JProperties.hh:497
void set(const std::string &name, const value_type &value)
Set value for a given oscillation parameter.
virtual JProperties getProperties(const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())=0
Get properties of this class.
template<class T>
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 189 of file JOscParametersInterface.hh.

190  {
191  bool valid = true;
192 
193  const JProperties properties = this->getProperties();
194 
195  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend() && valid; ++i) {
196 
197  const JOscParameter_t& parameter = i->second.getValue<const JOscParameter_t>();
198 
199  valid = parameter.is_valid();
200  }
201 
202  return valid;
203  }
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>
bool JOSCPROB::JOscParametersInterface< T >::equals ( const JOscParametersInterface< value_type > &  parameters) const
inline

Check whether these oscillation parameters are equal to given oscillation parameters.

Returns
true if equal; else false

Definition at line 211 of file JOscParametersInterface.hh.

212  {
213  using namespace std;
214  using namespace JPP;
215 
216  bool equal = true;
217 
218  JProperties properties = parameters.getProperties();
219 
220  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend() && equal; ++i) {
221 
222  const JOscParameter_t& parameter = i->second.getValue<const JOscParameter_t>();
223 
224  equal = (parameter == this->get(i->first));
225  }
226 
227  return equal;
228  }
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>
static JEquationParameters& JOSCPROB::JOscParametersInterface< T >::getEquationParameters ( )
inlinestatic

Get equation parameters.

Returns
equation parameters

Definition at line 236 of file JOscParametersInterface.hh.

237  {
238  static JEquationParameters equation("=", "\n\r;,", "./", "#");
239 
240  return equation;
241  }
Simple data structure to support I/O of equations (see class JLANG::JEquation).
template<class T>
static void JOSCPROB::JOscParametersInterface< T >::setEquationParameters ( const JEquationParameters equation)
inlinestatic

Set equation parameters.

Parameters
equationequation parameters

Definition at line 249 of file JOscParametersInterface.hh.

250  {
251  getEquationParameters() = equation;
252  }
static JEquationParameters & getEquationParameters()
Get equation parameters.
template<class T>
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 261 of file JOscParametersInterface.hh.

262  {
263  JProperties properties = this->getProperties();
264 
265  for (JProperties::iterator i = properties.begin(); i != properties.end(); ++i) {
266 
267  bool is_defined;
268  value_type value;
269 
270  if ((in >> is_defined >> value) && is_defined) {
271 
272  JOscParameter_t& parameter = i->second.getValue<JOscParameter_t>();
273 
274  parameter.setValue(value);
275  }
276  }
277 
278  return in;
279  }
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.
then fatal The output file must have the wildcard in the e g root fi 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>
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 288 of file JOscParametersInterface.hh.

289  {
290  const JProperties properties = this->getProperties();
291 
292  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend(); ++i) {
293 
294  const JOscParameter_t& parameter = i->second.getValue<const JOscParameter_t>();
295 
296  out << parameter.isDefined() << parameter.getValue();
297  }
298 
299  return out;
300  }
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>
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 310 of file JOscParametersInterface.hh.

311  {
312  using namespace std;
313  using namespace JPP;
314 
315  JStringStream is(in);
316 
317  if (getFileStatus(is.str().c_str())) {
318  is.load();
319  }
320 
321  JProperties properties = parameters.getProperties();
322  is >> properties;
323 
324  return in;
325  }
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 The output file must have the wildcard in the e g root fi 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>
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 335 of file JOscParametersInterface.hh.

336  {
337  return out << parameters.getProperties();
338  }
*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: