1 #ifndef __JACOUSTICS__JGEOMETRY__ 
    2 #define __JACOUSTICS__JGEOMETRY__ 
   37 namespace JACOUSTICS {}
 
   38 namespace JPP { 
using namespace JACOUSTICS; }
 
   40 namespace JACOUSTICS {
 
  180         for (
T i = __begin; i != __end; ++i) {
 
  197           return this->
has(floor);
 
  215         } 
else if (this->
has(floor)) {
 
  232                               const double           height)
 const 
  234         const double tx = parameters.
tx;
 
  235         const double ty = parameters.
ty;
 
  236         const double tz = sqrt(1.0 - tx*tx - ty*ty);
 
  240                            this->
getY()  +  ty * dz,
 
  241                            this->
getZ()  +  tz * height);
 
  253                               const int              floor)
 const 
  261         } 
else if (this->
has(floor)) {
 
  304                          const int              floor)
 const 
  320                                   const int              floor)
 const 
  326         } 
else if (this->
has(floor)) {
 
  328           const double      height = this->
get(floor).
getHeight();
 
  332           const double tx = parameters.
tx;
 
  333           const double ty = parameters.
ty;
 
  334           const double tz = sqrt(1.0 - tx*tx - ty*ty);
 
  336           const double dx = pos.
getX() - position.
getX();
 
  337           const double dy = pos.
getY() - position.
getY();
 
  338           const double dz = pos.
getZ() - position.
getZ();
 
  340           const double D  = sqrt(dx*dx + dy*dy + dz*dz);
 
  343                                  hiswa * dy / D  -  height * (ty / tz) * dz / D);
 
  364           out << setw(2)    << i->first       << 
' '  
  365               << 
FIXED(7,3) << i->second      << 
" | "  
  366               << 
string.getPosition(i->first) << 
' '  
  367               << 
string.mechanics             << endl;
 
  422         for (JDETECTOR::JDetector::const_iterator module = detector.begin(); module != detector.end(); ++module) {
 
  423           buffer[module->getString()].push_back(
module_type(module->getLocation(), module->getPosition()));
 
  428           sort(i->second.begin(), i->second.end(), 
make_comparator(&module_type::getFloor));
 
  430           if (i->second[0].getFloor() == 0) {
 
  444               (*this)[i->first].has_hydrophone = 
true;
 
  446             catch(
const exception&) {
 
  447               (*this)[i->first].has_hydrophone = 
false;
 
  452             THROW(
JNoValue, 
"No floor 0 in string " << i->first << 
"; use e.g. JDetectorDB -W.");
 
  466         return this->
has(
string);
 
  494           out << setw(4) << i->first << endl << i->second;
 
Mechanical modelling of string. 
do echo Generating $dir eval D
JPredicate< JResult_t T::*, JComparison::eq > make_predicate(JResult_t T::*member, const JResult_t value)
Helper method to create predicate for data member. 
JComparator< JResult_t T::*, JComparison::lt > make_comparator(JResult_t T::*member)
Helper method to create comparator between values of data member. 
int getFloor() const 
Get floor number. 
static JDetectorMechanics getMechanics
Function object to get string mechanics. 
friend std::ostream & operator<<(std::ostream &out, const JFloor &floor)
Write floor parameters to output stream. 
General purpose class for hash map of unique elements. 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message. 
JString(const JVector3D &position, T __begin, T __end, const JMechanics &mechanics)
Constructor. 
*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
JString()
Default constructor. 
Auxiliary data structure for floating point format specification. 
double getDistance(const JVector3D &pos) const 
Get distance to point. 
double getHeight(const int floor) const 
Get height of given floor. 
JFloor()
Default constructor. 
JString(const JVector3D &position)
Constructor. 
Data structure for detector geometry and calibration. 
Auxiliary data structure for module location and position. 
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
Data structure for hydrophone. 
JFloor(const double height)
Constructor. 
JPosition3D getPosition(const JMODEL::JString ¶meters, const double height) const 
Get position at given height according to given string model parameters. 
friend std::ostream & operator<<(std::ostream &out, const JString &string)
Write string parameters to output stream. 
bool hasString(int string) const 
Check if this detector has given string. 
JGEOMETRY::JDetector JGeometry
Type definition of detector geometry. 
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 given string model param...
Exception for missing value. 
module_type(const JLocation &location, const JPosition3D &position)
Constructor. 
Data structure for vector in three dimensions. 
Logical location of module. 
double getDistance(const JMODEL::JString ¶meters, const JVector3D &position, const int floor) const 
Get distance between given position and floor according to given string model parameters. 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
double getHeight(const double height) const 
Get effective height for given actual height. 
double getY() const 
Get y position. 
const JPosition3D & getPosition() const 
Get position. 
Logical location of module. 
JDetector(const JDETECTOR::JDetector &detector, const std::vector< JDETECTOR::JHydrophone > &hydrophones=std::vector< JDETECTOR::JHydrophone >())
Constructor. 
JPosition3D getPosition(const double height) const 
Get position at given height according to default string model parameters. 
int getString() const 
Get string number. 
friend std::ostream & operator<<(std::ostream &out, const JDetector &detector)
Write detector parameters to output stream. 
JPosition3D hydrophone
Hydrophone. 
JMechanics mechanics
Mechanical data. 
JPosition3D getPiezoPosition()
Get relative position of piezo in optical module. 
JPosition3D()
Default constructor. 
friend bool operator<(const module_type &first, const module_type &second)
Less-than operator. 
JDetector()
Default constructor. 
double getX() const 
Get x position. 
JPosition3D getPosition(const int floor) const 
Get position of given floor according to default string model parameters. 
bool hasLocation(const JLocation &location) const 
Check if this detector has given location. 
Data structure for position in three dimensions. 
double getHeight() const 
Get height of this floor. 
Exception for accessing a value in a collection that is outside of its range. 
Model for fit to acoutsics data. 
double getZ() const 
Get z position. 
bool hasFloor(int floor) const 
Check if this string has given floor. 
JPosition3D getPosition(const JMODEL::JString ¶meters, const int floor) const 
Get position of given floor according to given string model parameters. 
Auxiliary data structure for parameters of mechanical model.