15 namespace JASTRONOMY {}
 
   16 namespace JPP { 
using namespace JASTRONOMY; }
 
   18 namespace JASTRONOMY {
 
   24     double sla_gmsta_(
double& ut1, 
double& part_day);
 
   31                    double& azimuth, 
double& elevation); 
 
   32     void sla_dh2e_(
double& azimuth, 
double& elevation, 
double& observer_latitude,
 
   37                     double& ecliptic_longitude, 
double& ecliptic_latitude);
 
   38     void sla_ecleq_(
double& ecliptic_longitude, 
double& ecliptic_latitude, 
double& time,
 
   43                     double& galactic_longitude, 
double& galactic_latitude);
 
   44     void sla_galeq_(
double& galactic_longitude, 
double& galactic_latitude,
 
   48     void sla_galsup_(
double& galactic_longitude, 
double& galactic_latitude,
 
   49                      double& sgalactic_longitude, 
double& sgalactic_latitude);
 
   50     void sla_supgal_(
double& sgalactic_longitude, 
double& sgalactic_latitude,
 
   51                      double& galactic_longitude, 
double& galactic_latitude);
 
   58                     double& mjd, 
int& status);
 
   61     void sla_clyd_(
int& year, 
int& month, 
int& 
day, 
int& nyears, 
int& ndays, 
int&status);
 
   65                     int result[4],  
int& status); 
 
   76     void sla_rdplan_(
double& dtt, 
int& 
object, 
const double& longitude, 
const double& latitude, 
 
   77                      double& rightascension, 
double& 
declination, 
double& diam);
 
   80     void sla_preces_(
char *system, 
double& ep0, 
double& ep1, 
double& ra, 
double& dec, 
int length);
 
   85     void sla_prenut_(
double& epoch, 
double& mjd, 
double rmatpn[3][3] );
 
  102   inline double wrap( 
double angle )
 
  104     int n = int(angle / (2 * 
JMATH::PI)) - (angle < 0);
 
  125     const double zone_width = 6 * 
JMATH::PI / 180;
 
  126     return  -
JMATH::PI + (utmzone -1)*zone_width + zone_width/2;
 
  141     double latitude_deg = latitude * 180/
JMATH::PI;
 
  143     if ( latitude_deg > 84. || latitude_deg < -80.)
 
  145         std::cout << 
"UTM coordinate system not defined for given Latitude: %f (max 84 deg N or min -80 deg S), setting meridian convergence angle to 0 deg.";
 
  150     double lambda  = longitude;
 
  151     double phi     = latitude;
 
  156     double omega   = lambda-lambda0;
 
  160     double e2 = 0.0066943800;  
 
  162     double rho = a*(1.-e2)/
pow(1.-e2*
pow(
sin(phi),2),3./2.);
 
  163     double nu  = a/sqrt(1-e2*
pow(
sin(phi),2.));
 
  168     double gamma = 
sin(phi) * omega
 
  169       - 
sin(phi) * 
pow(omega,3.)/3.  * 
pow(cos(phi),2.) * (2.*
pow(psi,2.)-psi)
 
  170       - 
sin(phi) * 
pow(omega,5.)/15. * 
pow(cos(phi),4.) * (
pow(psi,4.)*(11.-24.*
pow(t,2.))-
 
  171                                                            pow(psi,3.)*(11.-36.*
pow(t,2.))+
 
  172                                                            2.*
pow(psi,2.)*(1.-7.*
pow(t,2.))+
 
  175       - 
sin(phi) * 
pow(omega,7.)/315. * 
pow(cos(phi),6.) * (17.-26.*
pow(t,2.)+2.*
pow(t,4.));
 
  191   inline void correct_to_j2000(
double& in_dec, 
double& in_ra, 
double& mjd, 
double& out_dec, 
double& out_ra, 
bool reverse=
false)
 
  199     double rmatpn[3][3] {};
 
  202     JMATH::JMatrix3D M = 
JMATH::JMatrix3D(rmatpn[0][0], rmatpn[0][1], rmatpn[0][2], rmatpn[1][0], rmatpn[1][1], rmatpn[1][2], rmatpn[2][0], rmatpn[2][1], rmatpn[2][2]);
 
  209     v[0] = 
sin (theta) * cos(phi);
 
  210     v[1] = 
sin (theta) * 
sin(phi);
 
  223     double phi_2 = atan2( v[1], v[0] ); 
double theta_2 =  acos(v[2]);
 
  225     out_ra = 
wrap(phi_2);
 
  255                         (
double) amin  /   60.0 + 
 
  256                         (double) asec  / 3600.0)  /  180.0;
 
  272     double ha = (
JMATH::PI * (double) hour /    12.0 + 
 
  306                     const double right_ascension) :
 
  322       double dec_j2000; 
double ra_j2000;
 
  326       const double const_dec_j2000 = dec_j2000;
 
  327       return const_dec_j2000;
 
  338       double dec_j2000; 
double ra_j2000;
 
  342       const double const_ra_j2000 = ra_j2000;
 
  343       return const_ra_j2000;
 
  372                          const double gal_longitude) :
 
  407                        const double& azimuth) :
 
  443                           const double longitude) :
 
  458                           const int minutesNorth,
 
  459                           const int degreesEast,
 
  460                           const int minutesEast) 
 
  519       double lst       = gmst + longitude + eqeqx;
 
  525       double ha  = lst - ra;
 
  533       sla_de2h_(ha, dec, latitude, azimuth, elevation);
 
  535       double theta = -elevation + 
JMATH::PI/2.0;
 
  567       double azimuth_geo = azimuth_utm - meridian_convergence_angle;
 
  569       double elevation   = -zenith  + 
JMATH::PI/2.0;
 
  575       sla_dh2e_(azimuth_sla, elevation, latitude, ha, dec);
 
  580       double lst   = gmst + longitude + eqeqx;
 
  581       double ra = lst - ha;
 
  602       double &dec_j2000_n = 
const_cast<double&
> (dec_j2000);
 
  603       double &ra_j2000_n  = 
const_cast<double&
> (ra_j2000);
 
  604       double galactic_longitude; 
double galactic_latitude;
 
  605       sla_eqgal_(ra_j2000_n, dec_j2000_n, galactic_longitude, galactic_latitude);
 
  631       double elevation = -theta  + 
JMATH::PI/2.0;
 
  640       sla_dh2e_(azimuth, elevation, latitude, ha, dec);
 
  652       double lst   = gmst + longitude + eqeqx;
 
  656       double ra = lst - ha;
 
static const JGeographicalLocation Sicily(36, 16, 16, 06)
 
Data structure for angles in three dimensions. 
 
Direction of incident neutrino. 
 
JGeographicalLocation(const int degreesNorth, const int minutesNorth, const int degreesEast, const int minutesEast)
Constructor. 
 
double sla_eqeqx_(double &ut1)
 
void sla_djcal_(int &precision, double &mjd, int result[4], int &status)
 
static const JGeographicalLocation ORCA(42, 48, 06, 02)
 
void sla_eqecl_(double &rightascension, double &declination, double &time, double &ecliptic_longitude, double &ecliptic_latitude)
 
double getPhi() const 
Get phi angle. 
 
void sla_dh2e_(double &azimuth, double &elevation, double &observer_latitude, double &hourangle, double &declination)
 
void sla_de2h_(double &hourangle, double &declination, double &observer_latitude, double &azimuth, double &elevation)
 
JNeutrinoDirection getDirectionOfNeutrino(const double &t1, const JSourceLocation &pos) const 
Get direction pointing to source. 
 
double getDot(const JNeutrinoDirection &first, const JNeutrinoDirection &second)
Dot product. 
 
double wrap(double angle)
 
double getHourAngle(const int hour, const int min, const double sec)
Convert hour angle to radians. 
 
double compute_meridian_convergence_angle(double longitude, double latitude)
 
JMatrix3D & transpose()
Transpose. 
 
void sla_prenut_(double &epoch, double &mjd, double rmatpn[3][3])
 
JGalacticCoordinates(const double gal_latitude, const double gal_longitude)
Constructor. 
 
double sla_gmsta_(double &ut1, double &part_day)
 
static const JGeographicalLocation ARCA(36, 17, 15, 58)
 
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
 
static const JSourceLocation RXJ1713(getRadians(-39,-46, 0.0), getHourAngle(17, 13, 7))
 
double getRightAscensionJ2000(const double t1) const 
Get Right Ascension in J2000. 
 
double getTheta() const 
Get theta angle. 
 
JAstronomy(const JGeographicalLocation &location)
Constructor. 
 
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
 
Auxiliary class to make coordinate transformations for a specific geographical location of the detect...
 
Location of astrophysical source. 
 
const char *const hourangle
 
JGalacticCoordinates()
Default constructor. 
 
void sla_ecleq_(double &ecliptic_longitude, double &ecliptic_latitude, double &time, double &rightascension, double &declination)
 
void sla_dd2tf_(int &ndec, double &day, char sign[1], int result[4])
 
void sla_galsup_(double &galactic_longitude, double &galactic_latitude, double &sgalactic_longitude, double &sgalactic_latitude)
 
const double & getZenith() const 
 
const double & getLatitude() const 
 
const double & getDeclination() const 
 
void sla_clyd_(int &year, int &month, int &day, int &nyears, int &ndays, int &status)
 
double sla_gmst_(double &ut1)
 
static const double NUMBER_OF_SECONDS_PER_DAY
 
JGalacticCoordinates getGalacticCoordinatesOfSource(const double t1, const JGEOMETRY3D::JAngle3D &dir) const 
Get location of source in galactic coordinates given a neutrino direction and time. 
 
void sla_supgal_(double &sgalactic_longitude, double &sgalactic_latitude, double &galactic_longitude, double &galactic_latitude)
 
void sla_preces_(char *system, double &ep0, double &ep1, double &ra, double &dec, int length)
 
const double & getAzimuth() const 
 
JSourceLocation getLocationOfSourceFromZenithAzimuth(const double t1, const JGEOMETRY3D::JAngle3D &dir) const 
Get location of source given a neutrino direction (zenith,azimuth) and time. 
 
JGeographicalLocation()
Default constructor. 
 
Singular value decomposition. 
 
T pow(const T &x, const double y)
Power . 
 
static const JGeographicalLocation Pylos(36, 33, 16, 06)
 
void sla_caldj_(int &year, int &month, int &day, double &mjd, int &status)
 
static const double PI
Mathematical constants. 
 
static const double MJD_EPOCH
 
static const JSourceLocation VELAX(getRadians(-45,-10,-35.2), getHourAngle(8, 35, 20.66))
 
void sla_rdplan_(double &dtt, int &object, const double &longitude, const double &latitude, double &rightascension, double &declination, double &diam)
 
static const double NUMBER_OF_SECONDS_PER_SEDERIAL_DAY
 
static const double NUMBER_OF_SECONDS_PER_HOUR
 
void sla_eqgal_(double &rightascension, double &declination, double &galactic_longitude, double &galactic_latitude)
 
int get_utm_zone(double lat)
 
const double & getGalacticLatitude() const 
 
const JMatrix3D & invert(const double precision=1.0e-12) const 
Get inverted matrix. 
 
double getDeclinationJ2000(const double t1) const 
Get declination in J2000. 
 
static const JGeographicalLocation Antares(42, 48, 06, 10)
 
double getRadians(const double angle)
Convert angle to radians. 
 
Location of astrophysical source in Galactic coordinates. 
 
double sla_dtt_(double &ut1)
 
int sign(const T &value)
Get sign of value. 
 
JNeutrinoDirection()
Default constructor. 
 
double longitude_of_central_meridian(int utmzone)
 
void correct_to_j2000(double &in_dec, double &in_ra, double &mjd, double &out_dec, double &out_ra, bool reverse=false)
Convert (Dec, RA) to J2000. 
 
void sla_galeq_(double &galactic_longitude, double &galactic_latitude, double &rightascension, double &declination)
 
const double & getLongitude() const 
 
JSourceLocation getLocationOfSource(const double t1, const JNeutrinoDirection &dir) const 
Get location of source. 
 
void transform(double &__x, double &__y, double &__z) const 
Transform. 
 
static const double NUMBER_OF_SECONDS_PER_YEAR
 
static const JSourceLocation galacticCenter(-0.5062816,-1.633335)
 
JSourceLocation()
Default constructor. 
 
JSourceLocation(const double declination, const double right_ascension)
Constructor. 
 
JGeographicalLocation(const double latitude, const double longitude)
Constructor. 
 
JNeutrinoDirection(const double &zenith, const double &azimuth)
Constructor. 
 
const double & getRightAscension() const 
 
const double & getGalacticLongitude() const