Jpp  19.0.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
JACOUSTICS::JMODEL::JString Struct Reference

String parameters. More...

#include <JModel.hh>

Inheritance diagram for JACOUSTICS::JMODEL::JString:
JMATH::JMath< JFirst_t, JSecond_t > JLANG::JEquals< JFirst_t, JSecond_t > JACOUSTICS::JKatoomba< JType >::H_t

Public Member Functions

 JString ()
 Default constructor. More...
 
 JString (const double tx, const double ty, const double tx2=0.0, const double ty2=0.0, const double vs=0.0)
 Constructor. More...
 
JStringnegate ()
 Negate string. More...
 
JStringadd (const JString &string)
 Add string. More...
 
JStringsub (const JString &string)
 Subtract string. More...
 
JStringmul (const double factor)
 Scale string. More...
 
JStringdiv (const double factor)
 Scale string. More...
 
bool equals (const JString &string, const double precision=std::numeric_limits< double >::min()) const
 Check equality. More...
 
double getLengthSquared () const
 Get length squared. More...
 
double getLength () const
 Get length. More...
 
double getAngle () const
 Get angle. More...
 
double getDot (const JString &string) const
 Get dot product. More...
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. More...
 

Static Public Member Functions

static size_t getN (const JMODEL::JOption_t option)
 Get number of fit parameters. More...
 

Public Attributes

double tx
 
double ty
 
double tx2
 
double ty2
 
double vs
 

Friends

std::istream & operator>> (std::istream &in, JString &string)
 Read string parameters from input stream. More...
 
std::ostream & operator<< (std::ostream &out, const JString &string)
 Write string parameters to output stream. More...
 

Detailed Description

String parameters.

Definition at line 59 of file JAcoustics/JModel.hh.

Constructor & Destructor Documentation

JACOUSTICS::JMODEL::JString::JString ( )
inline

Default constructor.

Definition at line 66 of file JAcoustics/JModel.hh.

JACOUSTICS::JMODEL::JString::JString ( const double  tx,
const double  ty,
const double  tx2 = 0.0,
const double  ty2 = 0.0,
const double  vs = 0.0 
)
inline

Constructor.

Parameters
txslope dx/dz
tyslope dy/dz
tx22nd order correction of slope dx/dz
ty22nd order correction of slope dy/dz
vsstretching factor

Definition at line 84 of file JAcoustics/JModel.hh.

Member Function Documentation

static size_t JACOUSTICS::JMODEL::JString::getN ( const JMODEL::JOption_t  option)
inlinestatic

Get number of fit parameters.

Parameters
optionoption
Returns
number of parameters

Definition at line 103 of file JAcoustics/JModel.hh.

104  {
105  switch (option) {
106 
107  case FIT_UNDEFINED_t:
108  case FIT_EMITTERS_ONLY_t:
109  return 0;
110 
112  return 2;
113 
115  return 4;
116 
118  return 5;
119 
120  default:
121  THROW(JValueOutOfRange, "Invalid option " << option);
122  }
123  }
fit times of emission of emitters and tilt angles of strings with second order correction ...
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
fit times of emission of emitters and tilt angles of strings
fit only times of emission of emitters
fit times of emission of emitters and tilt angles of strings with second order correction and stretch...
JString& JACOUSTICS::JMODEL::JString::negate ( )
inline

Negate string.

Returns
this string

Definition at line 131 of file JAcoustics/JModel.hh.

132  {
133  tx = -tx;
134  ty = -ty;
135  tx2 = -tx2;
136  ty2 = -ty2;
137  vs = -vs;
138 
139  return *this;
140  }
JString& JACOUSTICS::JMODEL::JString::add ( const JString string)
inline

Add string.

Parameters
stringstring
Returns
this string

Definition at line 149 of file JAcoustics/JModel.hh.

150  {
151  tx += string.tx;
152  ty += string.ty;
153  tx2 += string.tx2;
154  ty2 += string.ty2;
155  vs += string.vs;
156 
157  return *this;
158  }
JString& JACOUSTICS::JMODEL::JString::sub ( const JString string)
inline

Subtract string.

Parameters
stringstring
Returns
this string

Definition at line 167 of file JAcoustics/JModel.hh.

168  {
169  tx -= string.tx;
170  ty -= string.ty;
171  tx2 -= string.tx2;
172  ty2 -= string.ty2;
173  vs -= string.vs;
174 
175  return *this;
176  }
JString& JACOUSTICS::JMODEL::JString::mul ( const double  factor)
inline

Scale string.

Parameters
factormultiplication factor
Returns
this string

Definition at line 185 of file JAcoustics/JModel.hh.

186  {
187  tx *= factor;
188  ty *= factor;
189  tx2 *= factor;
190  ty2 *= factor;
191  vs *= factor;
192 
193  return *this;
194  }
JString& JACOUSTICS::JMODEL::JString::div ( const double  factor)
inline

Scale string.

Parameters
factordivision factor
Returns
this string

Definition at line 203 of file JAcoustics/JModel.hh.

204  {
205  tx /= factor;
206  ty /= factor;
207  tx2 /= factor;
208  ty2 /= factor;
209  vs /= factor;
210 
211  return *this;
212  }
bool JACOUSTICS::JMODEL::JString::equals ( const JString string,
const double  precision = std::numeric_limits<double>::min() 
) const
inline

Check equality.

Parameters
stringstring
precisionprecision
Returns
true if strings are equal; else false

Definition at line 222 of file JAcoustics/JModel.hh.

224  {
225  return (fabs(tx - string.tx) <= precision &&
226  fabs(ty - string.ty) <= precision &&
227  fabs(tx2 - string.tx2) <= precision &&
228  fabs(ty2 - string.ty2) <= precision &&
229  fabs(vs - string.vs) <= precision);
230  }
double JACOUSTICS::JMODEL::JString::getLengthSquared ( ) const
inline

Get length squared.

Returns
square of length

Definition at line 238 of file JAcoustics/JModel.hh.

239  {
240  return tx*tx + ty*ty;
241  }
double JACOUSTICS::JMODEL::JString::getLength ( ) const
inline

Get length.

Returns
length

Definition at line 249 of file JAcoustics/JModel.hh.

250  {
251  return sqrt(getLengthSquared());
252  }
double getLengthSquared() const
Get length squared.
double JACOUSTICS::JMODEL::JString::getAngle ( ) const
inline

Get angle.

Returns
angle [rad]

Definition at line 260 of file JAcoustics/JModel.hh.

261  {
262  return atan2(ty, tx);
263  }
double JACOUSTICS::JMODEL::JString::getDot ( const JString string) const
inline

Get dot product.

Parameters
stringstring
Returns
dot product

Definition at line 272 of file JAcoustics/JModel.hh.

273  {
274  return (tx * string.tx +
275  ty * string.ty +
276  tx2 * string.tx2 +
277  ty2 * string.ty2 +
278  vs * string.vs);
279  }
template<class JFirst_t, class JSecond_t = JNullType>
JFirst_t& JMATH::JMath< JFirst_t, JSecond_t >::mul ( const JSecond_t &  object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 354 of file JMath.hh.

355  {
356  return static_cast<JFirst_t&>(*this) = JFirst_t().mul(static_cast<const JFirst_t&>(*this), object);
357  }

Friends And Related Function Documentation

std::istream& operator>> ( std::istream &  in,
JString string 
)
friend

Read string parameters from input stream.

Parameters
ininput stream
stringstring
Returns
input stream

Definition at line 289 of file JAcoustics/JModel.hh.

290  {
291  return in >> string.tx >> string.ty >> string.tx2 >> string.ty2 >> string.vs;
292  }
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
std::ostream& operator<< ( std::ostream &  out,
const JString string 
)
friend

Write string parameters to output stream.

Parameters
outoutput stream
stringstring
Returns
output stream

Definition at line 302 of file JAcoustics/JModel.hh.

303  {
304  using namespace std;
305  using namespace JPP;
306 
307  return out << FIXED(10,7) << string.tx << ' '
308  << FIXED(10,7) << string.ty << ' '
309  << SCIENTIFIC(12,3) << string.tx2 << ' '
310  << SCIENTIFIC(12,3) << string.ty2 << ' '
311  << FIXED(8,5) << string.vs;
312  }
Auxiliary data structure for floating point format specification.
Definition: JManip.hh:446
Auxiliary data structure for floating point format specification.
Definition: JManip.hh:486

Member Data Documentation

double JACOUSTICS::JMODEL::JString::tx

Definition at line 315 of file JAcoustics/JModel.hh.

double JACOUSTICS::JMODEL::JString::ty

Definition at line 316 of file JAcoustics/JModel.hh.

double JACOUSTICS::JMODEL::JString::tx2

Definition at line 317 of file JAcoustics/JModel.hh.

double JACOUSTICS::JMODEL::JString::ty2

Definition at line 318 of file JAcoustics/JModel.hh.

double JACOUSTICS::JMODEL::JString::vs

Definition at line 319 of file JAcoustics/JModel.hh.


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