casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AngularRate.h
Go to the documentation of this file.
1 //AngularRate.h generated on 'Thu Feb 04 10:20:05 CET 2010'. Edit at your own risk.
2 /*
3  * ALMA - Atacama Large Millimeter Array
4  * (c) European Southern Observatory, 2002
5  * (c) Associated Universities Inc., 2002
6  * Copyright by ESO (in the framework of the ALMA collaboration),
7  * Copyright by AUI (in the framework of the ALMA collaboration),
8  * All rights reserved.
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free software Foundation; either
13  * version 2.1 of the License, or (at your option) any later version.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY, without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with this library; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23  * MA 02111-1307 USA
24  *
25  * File AngularRate.h
26  */
27 #ifndef AngularRate_CLASS
28 #define AngularRate_CLASS
29 #include <vector>
30 #include <iostream>
31 #include <string>
32 #ifndef WITHOUT_ACS
33 #include <asdmIDLTypesC.h>
34 #endif
37 #include <alma/ASDM/EndianStream.h>
38 namespace asdm {
39 class AngularRate;
40 AngularRate operator * ( double , const AngularRate & );
41 std::ostream & operator << ( std::ostream &, const AngularRate & );
42 std::istream & operator >> ( std::istream &, AngularRate &);
53 class AngularRate {
60  friend AngularRate operator * ( double d, const AngularRate & x );
66  friend std::ostream & operator << ( std::ostream & os, const AngularRate & x);
70  friend std::istream & operator >> ( std::istream & is, AngularRate & x);
71 public:
75  AngularRate();
79  AngularRate(const AngularRate &);
87  AngularRate(const std::string &s);
88 #ifndef WITHOUT_ACS
89 
95  AngularRate(const asdmIDLTypes::IDLAngularRate & idlAngularRate);
96 #endif
97 
101  AngularRate(double value);
105  virtual ~AngularRate();
110  static double fromString(const std::string& s);
117  static std::string toString(double);
124 
129  void toBin(EndianOSStream& eoss);
135  static void toBin(const std::vector<AngularRate>& angle, EndianOSStream& eoss);
136 
142  static void toBin(const std::vector<std::vector<AngularRate> >& angle, EndianOSStream& eoss);
143 
149  static void toBin(const std::vector<std::vector<std::vector<AngularRate> > >& angle, EndianOSStream& eoss);
156  static AngularRate fromBin(EndianIStream& eis);
157 
164  static std::vector<AngularRate> from1DBin(EndianIStream & eis);
165 
172  static std::vector<std::vector<AngularRate> > from2DBin(EndianIStream & eis);
173 
180  static std::vector<std::vector<std::vector<AngularRate> > > from3DBin(EndianIStream & eis);
181 
186  AngularRate & operator = (const AngularRate & x);
187 
192  AngularRate & operator = (const double d);
197  AngularRate & operator += (const AngularRate & x);
202  AngularRate & operator -= (const AngularRate & x);
207  AngularRate & operator *= (const double x);
212  AngularRate & operator /= (const double x);
217  AngularRate operator + (const AngularRate & x) const;
222  AngularRate operator - (const AngularRate & x) const;
227  AngularRate operator * (const double x) const;
232  AngularRate operator / (const double x) const;
237  bool operator < (const AngularRate & x) const;
242  bool operator > (const AngularRate & x) const;
247  bool operator <= (const AngularRate & x) const;
252  bool operator >= (const AngularRate & x) const;
257  bool operator == (const AngularRate & x) const;
262  bool equals(const AngularRate & x) const;
267  bool operator != (const AngularRate & x) const;
272  bool isZero() const;
276  AngularRate operator - () const;
280  AngularRate operator + () const;
285  std::string toString() const;
289  std::string toStringI() const;
294  operator std::string () const;
299  double get() const;
300 #ifndef WITHOUT_ACS
301 
305  asdmIDLTypes::IDLAngularRate toIDLAngularRate() const;
306 #endif
307 
311  static std::string unit();
312 private:
313  double value;
314 };
315 // AngularRate constructors
317 }
319 }
320 #ifndef WITHOUT_ACS
321 inline AngularRate::AngularRate(const asdmIDLTypes::IDLAngularRate &l) : value(l.value) {
322 }
323 #endif
324 inline AngularRate::AngularRate(const std::string &s) : value(fromString(s)) {
325 }
326 inline AngularRate::AngularRate(double v) : value(v) {
327 }
328 // AngularRate destructor
330 // assignment operator
332  value = t.value;
333  return *this;
334 }
335 // assignment operator
336 inline AngularRate & AngularRate::operator = ( const double v ) {
337  value = v;
338  return *this;
339 }
340 // assignment with arithmetic operators
342  value += t.value;
343  return *this;
344 }
346  value -= t.value;
347  return *this;
348 }
349 inline AngularRate & AngularRate::operator *= ( const double n) {
350  value *= n;
351  return *this;
352 }
353 inline AngularRate & AngularRate::operator /= ( const double n) {
354  value /= n;
355  return *this;
356 }
357 // arithmetic functions
359  AngularRate tmp;
360  tmp.value = value + t2.value;
361  return tmp;
362 }
364  AngularRate tmp;
365  tmp.value = value - t2.value;
366  return tmp;
367 }
368 inline AngularRate AngularRate::operator * ( const double n) const {
369  AngularRate tmp;
370  tmp.value = value * n;
371  return tmp;
372 }
373 inline AngularRate AngularRate::operator / ( const double n) const {
374  AngularRate tmp;
375  tmp.value = value / n;
376  return tmp;
377 }
378 // comparison operators
379 inline bool AngularRate::operator < (const AngularRate & x) const {
380  return (value < x.value);
381 }
382 inline bool AngularRate::operator > (const AngularRate & x) const {
383  return (value > x.value);
384 }
385 inline bool AngularRate::operator <= (const AngularRate & x) const {
386  return (value <= x.value);
387 }
388 inline bool AngularRate::operator >= (const AngularRate & x) const {
389  return (value >= x.value);
390 }
391 inline bool AngularRate::equals(const AngularRate & x) const {
392  return (value == x.value);
393 }
394 inline bool AngularRate::operator == (const AngularRate & x) const {
395  return (value == x.value);
396 }
397 inline bool AngularRate::operator != (const AngularRate & x) const {
398  return (value != x.value);
399 }
400 // unary - and + operators
402  AngularRate tmp;
403  tmp.value = -value;
404  return tmp;
405 }
407  AngularRate tmp;
408  tmp.value = value;
409  return tmp;
410 }
411 // Conversion functions
412 inline AngularRate::operator std::string () const {
413  return toString();
414 }
415 inline std::string AngularRate::toString() const {
416  return toString(value);
417 }
418 inline std::string AngularRate::toStringI() const {
419  return toString(value);
420 }
421 inline double AngularRate::get() const {
422  return value;
423 }
424 #ifndef WITHOUT_ACS
425 inline asdmIDLTypes::IDLAngularRate AngularRate::toIDLAngularRate() const {
426  asdmIDLTypes::IDLAngularRate tmp;
427  tmp.value = value;
428  return tmp;
429 }
430 #endif
431 // Friend functions
432 inline AngularRate operator * ( double n, const AngularRate &x) {
433  AngularRate tmp;
434  tmp.value = x.value * n;
435  return tmp;
436 }
437 inline std::ostream & operator << ( std::ostream &o, const AngularRate &x ) {
438  o << x.value;
439  return o;
440 }
441 inline std::istream & operator >> ( std::istream &i, AngularRate &x ) {
442  i >> x.value;
443  return i;
444 }
445 inline std::string AngularRate::unit() {
446  return std::string ("rad/s");
447 }
448 } // End namespace asdm
449 #endif /* AngularRate_CLASS */
AngularRate()
The nullary constructor (default).
Definition: AngularRate.h:316
bool operator==(const AngularRate &x) const
Comparision operator.
Definition: AngularRate.h:394
AngularRate & operator=(const AngularRate &x)
An assignment operator AngularRate = AngularRate.
Definition: AngularRate.h:331
static std::vector< AngularRate > from1DBin(EndianIStream &eis)
Read the binary representation of a vector of AngularRate from an EndianIStream and use the read valu...
AngularRate & operator+=(const AngularRate &x)
Operator increment and assign.
Definition: AngularRate.h:341
AngularRate & operator*=(const double x)
Operator multiply and assign.
Definition: AngularRate.h:349
std::istream & operator>>(std::istream &, EntityId &)
Definition: EntityId.h:164
The StringTokenizer class is a translation into C++ of the Java class of the same name in Java&#39;s util...
static std::string unit()
Returns the abbreviated name of the unit implicitely associated to any AngularRate.
Definition: AngularRate.h:445
AngularRate & operator/=(const double x)
Operator divide and assign.
Definition: AngularRate.h:353
bool isZero() const
Comparison method.
The NumberFormatException class represents an exception when an error occurs in converting a numeric ...
Length operator*(double, const Length &)
Friend functions.
Definition: Length.h:432
static std::vector< std::vector< AngularRate > > from2DBin(EndianIStream &eis)
Read the binary representation of a vector of vector of AngularRate from an EndianIStream and use the...
virtual ~AngularRate()
The destructor.
Definition: AngularRate.h:329
AngularRate operator+() const
Unary operator.
Definition: AngularRate.h:406
asdmIDLTypes::IDLAngularRate toIDLAngularRate() const
Return the IDLAngularRate representation of the AngularRate.
Definition: AngularRate.h:425
std::ostream & operator<<(std::ostream &, const EntityId &)
Friend functions.
Definition: EntityId.h:159
casacore::String toString(VisibilityProcessor::ProcessingType p)
The AngularRate class implements a quantity of AngularRate in radians per second. ...
Definition: AngularRate.h:53
bool equals(const AngularRate &x) const
Comparison method.
Definition: AngularRate.h:391
double get() const
Return the double precision value of the AngularRate.
Definition: AngularRate.h:421
bool operator>(const AngularRate &x) const
Comparison operator.
Definition: AngularRate.h:382
bool operator<=(const AngularRate &x) const
Comparison operator.
Definition: AngularRate.h:385
friend std::istream & operator>>(std::istream &is, AngularRate &x)
Overloading of &gt;&gt; to read an AngularRate from an istream.
AngularRate & operator-=(const AngularRate &x)
Operator decrement and assign.
Definition: AngularRate.h:345
void toBin(EndianOSStream &eoss)
Write the binary representation of this to an EndianOSStream .
bool operator!=(const AngularRate &x) const
Comparison operator.
Definition: AngularRate.h:397
static std::vector< std::vector< std::vector< AngularRate > > > from3DBin(EndianIStream &eis)
Read the binary representation of a vector of vector of vector of AngularRate from an EndianIStream a...
static AngularRate fromBin(EndianIStream &eis)
Read the binary representation of an AngularRate from a EndianIStream and use the read value to set a...
friend std::ostream & operator<<(std::ostream &os, const AngularRate &x)
Overloading of &lt;&lt; to output the value an AngularRate on an ostream.
bool operator<(const AngularRate &x) const
Comparison operator.
Definition: AngularRate.h:379
bool operator>=(const AngularRate &x) const
Comparison operator.
Definition: AngularRate.h:388
AngularRate operator-() const
Unary operator.
Definition: AngularRate.h:401
static AngularRate getAngularRate(StringTokenizer &st)
Parse the next (string) token of a StringTokenizer into an angle.
AngularRate operator/(const double x) const
Division operator.
Definition: AngularRate.h:373
std::string toString() const
Converts into a string.
Definition: AngularRate.h:415
friend AngularRate operator*(double d, const AngularRate &x)
Overloading of multiplication operator.
static double fromString(const std::string &s)
A static method equivalent to the constructor from a string.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
std::string toStringI() const
Idem toString.
Definition: AngularRate.h:418