Jpp
18.4.0
the software that should make you happy
|
String geometry. More...
#include <JGeometry.hh>
Public Member Functions | |
JString () | |
Default constructor. More... | |
JString (const JVector3D &position, const JMechanics &mechanics) | |
Constructor. More... | |
template<class T > | |
JString (const JVector3D &position, const JMechanics &mechanics, T __begin, T __end) | |
Constructor. More... | |
const JMechanics & | getMechanics () const |
Get mechanical model parameters. More... | |
JFloor & | operator[] (size_t floor) |
Get floor data. More... | |
bool | hasFloor (size_t floor) const |
Check if this string has receiver at given floor. More... | |
double | getHeight (const size_t floor) const |
Get height of receiver at given floor with respect to reference position. More... | |
JPosition3D | getPosition (const JMODEL::JString ¶meters, const size_t floor) const |
Get position of receiver at given floor according to given string model parameters. More... | |
JPosition3D | getPosition (const size_t floor) const |
Get position of receiver at given floor. More... | |
double | getDistance (const JMODEL::JString ¶meters, const JVector3D &position, const size_t floor) const |
Get distance between given position and floor according to given string model parameters. More... | |
JMODEL::JString | getGradient (const JMODEL::JString ¶meters, const JVector3D &position, const size_t floor) const |
Get model gradient of distance between given position and floor according to given string model parameters. More... | |
const JPosition3D & | getPosition () const |
Get position. More... | |
JPosition3D & | getPosition () |
Get position. More... | |
void | setPosition (const JVector3D &pos) |
Set position. More... | |
operator JAngle3D () const | |
Type conversion operator. More... | |
operator JVersor3D () const | |
Type conversion operator. More... | |
JPosition3D & | rotate (const JRotation3D &R) |
Rotate. More... | |
JPosition3D & | rotate (const JRotation3X &R) |
Rotate around X-axis. More... | |
JPosition3D & | rotate (const JRotation3Y &R) |
Rotate around Y-axis. More... | |
JPosition3D & | rotate (const JRotation3Z &R) |
Rotate around Z-axis. More... | |
JPosition3D & | rotate (const JQuaternion3D &Q) |
Rotate. More... | |
JPosition3D & | rotate_back (const JRotation3D &R) |
Rotate back. More... | |
JPosition3D & | rotate_back (const JRotation3X &R) |
Rotate back around X-axis. More... | |
JPosition3D & | rotate_back (const JRotation3Y &R) |
Rotate back around Y-axis. More... | |
JPosition3D & | rotate_back (const JRotation3Z &R) |
Rotate back around Z-axis. More... | |
JPosition3D & | rotate_back (const JQuaternion3D &Q) |
Rotate back. More... | |
void | transform (const JRotation3D &R, const JVector3D &pos) |
Transform position. More... | |
JVector3D & | transform (const JMatrix3D &T) |
Transform. More... | |
void | transform_back (const JRotation3D &R, const JVector3D &pos) |
Transform back position. More... | |
double | getDot (const JAngle3D &angle) const |
Get dot product. More... | |
double | getDot (const JVersor3D &dir) const |
Get dot product. More... | |
double | getDot (const JVersor3Z &dir) const |
Get dot product. More... | |
double | getDot (const JVector3D &vector) const |
Get dot product. More... | |
operator JVector2D () const | |
Type conversion operator. More... | |
double | getX () const |
Get x position. More... | |
double | getY () const |
Get y position. More... | |
double | getZ () const |
Get z position. More... | |
JVector3D & | negate () |
Negate vector. More... | |
JVector3D & | add (const JVector3D &vector) |
Add vector. More... | |
JVector3D & | sub (const JVector3D &vector) |
Subtract vector. More... | |
JVector3D & | mul (const double factor) |
Scale vector. More... | |
JFirst_t & | mul (const JSecond_t &object) |
Multiply with object. More... | |
JVector3D & | div (const double factor) |
Scale vector. More... | |
bool | equals (const JVector3D &vector, 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 | getDistanceSquared (const JVector3D &pos) const |
Get squared of distance to point. More... | |
double | getDistance (const JVector3D &pos) const |
Get distance to point. More... | |
JVector3D & | getCross (const JVector3D &first, const JVector3D &second) |
Get cross product. More... | |
Static Public Member Functions | |
static double | getLength (const JMODEL::JString ¶meters, const JMechanics &mechanics, const double height) |
Get approximate length of string. More... | |
static double | getHeight (const JMODEL::JString ¶meters, const JMechanics &mechanics, const double length, const double precision=PRECISION_M) |
Get approximate height of string. More... | |
static JPosition3D | getPosition (const JMODEL::JString ¶meters, const JMechanics &mechanics, const double height) |
Get position at given height according to given string model parameters and mechanics. More... | |
Public Attributes | |
JPosition3D | hydrophone |
Hydrophone. More... | |
bool | has_hydrophone |
Static Public Attributes | |
static constexpr double | PRECISION_M = 1.0e-4 |
precision of height evaluation [m] More... | |
Protected Attributes | |
double | __x |
double | __y |
double | __z |
Private Attributes | |
JMechanics | mechanics |
Mechanical data. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &out, const JString &string) |
Write string parameters to output stream. More... | |
String geometry.
This data structure provides for the implementation of the dynamical geometry of a detector string.
In this, the position of floor > 0 corresponds to the piezo sensor which is located inside the optical module and
the position of floor = 0 to the hydrophone which is optionally mounted on the anchor.
The reference position of a string corresponds to the top of the T-bar located on the anchor.
The position of a piezo sensor depends on the tilt of the string and the mechanical model.
The position of the hydrophone is fixed. Its value is relative to the reference position of the string.
Definition at line 140 of file JGeometry.hh.
|
inline |
|
inline |
Constructor.
The given position corresponds to the reference position of the string from which the positions of the piezo sensors and hydrophone are determined.
position | position |
mechanics | mechanical model parameters |
Definition at line 245 of file JGeometry.hh.
|
inline |
Constructor.
The given position corresponds to the reference position of the string from which the positions of the piezo sensors and hydrophone are determined.
The template parameter should correspond to a data type which implements the following policy methods.
int getFloor(); JGEOMETRY3d::JPosition3D getPosition();
In this, the position should correspond to the center of the optical module.
Note that the position of the piezo is offset by JDETECTOR::getPiezoPosition with respect to the center of the optical module.
The position of the hydrophone should separately be set.
position | position |
mechanics | mechanical model parameters |
__begin | begin of optical modules |
__end | end of optical modules |
Definition at line 275 of file JGeometry.hh.
|
inlinestatic |
Get approximate length of string.
parameters | parameters |
mechanics | mechanics |
height | height |
Definition at line 158 of file JGeometry.hh.
|
inlinestatic |
Get approximate height of string.
parameters | parameters |
mechanics | mechanics |
length | length |
precision | precision |
Definition at line 179 of file JGeometry.hh.
|
inlinestatic |
Get position at given height according to given string model parameters and mechanics.
parameters | parameters |
mechanics | mechanics |
height | height |
Definition at line 215 of file JGeometry.hh.
|
inline |
Get mechanical model parameters.
Definition at line 296 of file JGeometry.hh.
|
inline |
Get floor data.
floor | floor number |
Definition at line 308 of file JGeometry.hh.
|
inline |
Check if this string has receiver at given floor.
floor | floor |
Definition at line 324 of file JGeometry.hh.
|
inline |
Get height of receiver at given floor with respect to reference position.
floor | floor |
Definition at line 339 of file JGeometry.hh.
|
inline |
Get position of receiver at given floor according to given string model parameters.
parameters | parameters |
floor | floor |
Definition at line 359 of file JGeometry.hh.
|
inline |
Get position of receiver at given floor.
floor | floor |
Definition at line 379 of file JGeometry.hh.
|
inline |
Get distance between given position and floor according to given string model parameters.
parameters | parameters |
position | position |
floor | floor |
Definition at line 400 of file JGeometry.hh.
|
inline |
Get model gradient of distance between given position and floor according to given string model parameters.
parameters | parameters |
position | position |
floor | floor |
Definition at line 416 of file JGeometry.hh.
|
inlineinherited |
Get position.
Definition at line 130 of file JPosition3D.hh.
|
inlineinherited |
Get position.
Definition at line 141 of file JPosition3D.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Type conversion operator.
Definition at line 174 of file JPosition3D.hh.
|
inlineinherited |
Rotate.
R | rotation matrix |
Definition at line 186 of file JPosition3D.hh.
|
inlineinherited |
Rotate around X-axis.
R | rotation matrix |
Definition at line 214 of file JPosition3D.hh.
|
inlineinherited |
Rotate around Y-axis.
R | rotation matrix |
Definition at line 242 of file JPosition3D.hh.
|
inlineinherited |
Rotate around Z-axis.
R | rotation matrix |
Definition at line 270 of file JPosition3D.hh.
|
inlineinherited |
Rotate.
Q | quaternion |
Definition at line 298 of file JPosition3D.hh.
|
inlineinherited |
Rotate back.
R | rotation matrix |
Definition at line 200 of file JPosition3D.hh.
|
inlineinherited |
Rotate back around X-axis.
R | rotation matrix |
Definition at line 228 of file JPosition3D.hh.
|
inlineinherited |
Rotate back around Y-axis.
R | rotation matrix |
Definition at line 256 of file JPosition3D.hh.
|
inlineinherited |
Rotate back around Z-axis.
R | rotation matrix |
Definition at line 284 of file JPosition3D.hh.
|
inlineinherited |
Rotate back.
Q | quaternion |
Definition at line 312 of file JPosition3D.hh.
|
inlineinherited |
Transform position.
The final position is obtained as follows:
R | rotation matrix |
pos | position of origin (after rotation) |
Definition at line 331 of file JPosition3D.hh.
|
inlineinherited |
Transform back position.
The final position is obtained as follows:
R | rotation matrix |
pos | position of origin (before rotation) |
Definition at line 359 of file JPosition3D.hh.
|
inlineinherited |
Get dot product.
angle | angle |
Definition at line 378 of file JPosition3D.hh.
|
inlineinherited |
Get dot product.
dir | direction |
Definition at line 393 of file JPosition3D.hh.
|
inlineinherited |
Get dot product.
dir | direction |
Definition at line 408 of file JPosition3D.hh.
|
inlineinherited |
Get dot product.
vector | vector |
Definition at line 282 of file JVector3D.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Subtract vector.
vector | vector |
Definition at line 158 of file JVector3D.hh.
|
inlineinherited |
Scale vector.
factor | multiplication factor |
Definition at line 174 of file JVector3D.hh.
|
inlineinherited |
|
inlineinherited |
Scale vector.
factor | division factor |
Definition at line 190 of file JVector3D.hh.
|
inlineinherited |
Check equality.
vector | vector |
precision | precision |
Definition at line 221 of file JVector3D.hh.
|
inlineinherited |
|
inlineinherited |
Get length.
Definition at line 246 of file JVector3D.hh.
|
inlineinherited |
Get squared of distance to point.
pos | position |
Definition at line 258 of file JVector3D.hh.
|
inlineinherited |
Get distance to point.
pos | position |
Definition at line 270 of file JVector3D.hh.
|
inlineinherited |
Get cross product.
Note that this vector should not overlap with the first or second vector,
first | first vector |
second | second vector |
Definition at line 299 of file JVector3D.hh.
|
friend |
Write string parameters to output stream.
out | output stream |
string | string |
Definition at line 463 of file JGeometry.hh.
|
static |
precision of height evaluation [m]
Definition at line 148 of file JGeometry.hh.
JPosition3D JACOUSTICS::JGEOMETRY::JString::hydrophone |
Hydrophone.
The position of the hydrophone is relative to the reference position of the string.
Definition at line 485 of file JGeometry.hh.
bool JACOUSTICS::JGEOMETRY::JString::has_hydrophone |
Definition at line 486 of file JGeometry.hh.
|
private |
Mechanical data.
Definition at line 492 of file JGeometry.hh.
|
protectedinherited |
Definition at line 310 of file JVector3D.hh.
|
protectedinherited |
Definition at line 311 of file JVector3D.hh.
|
protectedinherited |
Definition at line 312 of file JVector3D.hh.