1 #ifndef __JACOUSTICS__JGEOMETRY__
2 #define __JACOUSTICS__JGEOMETRY__
22 namespace JACOUSTICS {}
23 namespace JPP {
using namespace JACOUSTICS; }
25 namespace JACOUSTICS {
154 for (
T i = __begin; i != __end; ++i) {
168 const double height)
const
170 const double tx = parameters.
tx;
171 const double ty = parameters.
ty;
172 const double tz = sqrt(1.0 - tx*tx - ty*ty);
175 this->
getY() + ty * height,
176 this->
getZ() + tz * height);
188 const int floor)
const
192 else if (this->
has(floor))
193 return getPosition(parameters, this->
get(floor).getHeight());
233 const int floor)
const
249 const int floor)
const
255 }
else if (this->
has(floor)) {
257 const double height = this->
get(floor).getHeight();
260 const double tx = parameters.
tx;
261 const double ty = parameters.
ty;
262 const double tz = sqrt(1.0 - tx*tx - ty*ty);
264 const double dx = pos.
getX() - position.
getX();
265 const double dy = pos.
getY() - position.
getY();
266 const double dz = pos.
getZ() - position.
getZ();
268 const double D = sqrt(dx*dx + dy*dy + dz*dz);
271 height * dy / D - (ty / tz) * dz / D);
292 out << setw(2) << i->first <<
' ' << i->second <<
" | " <<
string.getPosition(i->first) << endl;
333 out << setw(4) << i->first << endl << i->second;
do echo Generating $dir eval D
JFloor()
Default constructor.
General purpose class for hash map of unique elements.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
JPosition3D hydrophone
Hydrophone.
JPosition3D getPosition(const JModel::JString ¶meters, const int floor) const
Get position of given floor according to actual string parameters.
*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
Auxiliary data structure for floating point format specification.
double getDistance(const JVector3D &pos) const
Get distance to point.
double getHeight() const
Get height of this floor.
JDetector()
Default constructor.
JPosition3D getPosition(const JModel::JString ¶meters, const double height) const
Get position at given height according to actual string parameters.
JString(const JVector3D &position, T __begin, T __end)
Constructor.
friend std::ostream & operator<<(std::ostream &out, const JDetector &detector)
Write detector parameters to output stream.
JPosition3D getPosition(const double height) const
Get position at given height according to default string parameters.
JString()
Default constructor.
I/O formatting auxiliaries.
Data structure for vector in three dimensions.
JString(const JVector3D &position)
Constructor.
Auxiliary data structure to encapsulate different geometries.
JModel::JString getGradient(const JModel::JString ¶meters, const JVector3D &position, const int floor) const
Get model gradient of distance between given position and floor according to actual string parameters...
JFloor(const double height)
Constructor.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
friend std::ostream & operator<<(std::ostream &out, const JFloor &floor)
Write floor parameters to output stream.
double getY() const
Get y position.
const JPosition3D & getPosition() const
Get position.
JPosition3D()
Default constructor.
double getX() const
Get x position.
double getDistance(const JModel::JString ¶meters, const JVector3D &position, const int floor) const
Get distance between given position and floor according to actual string parameters.
Data structure for position in three dimensions.
Exception for accessing a value in a collection that is outside of its range.
friend std::ostream & operator<<(std::ostream &out, const JString &string)
Write string parameters to output stream.
JPosition3D getPosition(const int floor) const
Get position of given floor according to default string parameters.
Model for fit to acoutsics data.
JPosition3D getPiezoPosition()
Get relative position of piezo in optical module.
double getZ() const
Get z position.