• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

kstars

  • sources
  • kde-4.12
  • kdeedu
  • kstars
  • kstars
ksnumbers.h
Go to the documentation of this file.
1 /***************************************************************************
2  ksnumbers.h - description
3  -------------------
4  begin : Sun Jan 13 2002
5  copyright : (C) 2002-2005 by Jason Harris
6  email : kstars@30doradus.org
7  copyright : (C) 2004-2005 by Pablo de Vicente
8  email : p.devicente@wanadoo.es
9  ***************************************************************************/
10 
11 /***************************************************************************
12  * *
13  * This program is free software; you can redistribute it and/or modify *
14  * it under the terms of the GNU General Public License as published by *
15  * the Free Software Foundation; either version 2 of the License, or *
16  * (at your option) any later version. *
17  * *
18  ***************************************************************************/
19 
20 #ifndef KSNUMBERS_H_
21 #define KSNUMBERS_H_
22 
23 #define NUTTERMS 63
24 
25 #include "dms.h"
26 
43 class KSNumbers {
44 public:
45 
50  explicit KSNumbers( long double jd );
51 
53  ~KSNumbers();
54 
58  const dms* obliquity() const { return &Obliquity; }
59 
61  dms constAberr() const { return K; }
62 
64  dms sunMeanAnomaly() const { return M; }
65 
67  dms sunMeanLongitude() const { return L; }
68 
70  dms sunTrueAnomaly() const { return M0; }
71 
73  dms sunTrueLongitude() const { return L0; }
74 
76  dms earthPerihelionLongitude() const { return P; }
77 
79  double earthEccentricity() const { return e; }
80 
83  double dObliq() const { return deltaObliquity; }
84 
87  double dEcLong() const { return deltaEcLong; }
88 
90  double julianCenturies() const { return T; }
91 
93  long double julianDay() const { return days; }
94 
96  double julianMillenia() const { return jm; }
97 
99  double p1( int i1, int i2 ) const { return P1[i1][i2]; }
100 
102  double p2( int i1, int i2 ) const { return P2[i1][i2]; }
103 
105  double p1b( int i1, int i2 ) const { return P1B[i1][i2]; }
106 
108  double p2b( int i1, int i2 ) const { return P2B[i1][i2]; }
109 
113  void computeConstantValues();
114 
118  void updateValues( long double jd );
119 
123  inline long double getJD() const { return days; }
124 
125  double vEarth(int i) const {return vearth[i];}
126 
127 private:
128  dms Obliquity, K, L, L0, LM, M, M0, O, P, D, MM, F;
129  dms XP, YP, ZP, XB, YB, ZB;
130  double CX, SX, CY, SY, CZ, SZ;
131  double CXB, SXB, CYB, SYB, CZB, SZB;
132  double P1[3][3], P2[3][3], P1B[3][3], P2B[3][3];
133  double deltaObliquity, deltaEcLong;
134  double e, T, TB;
135  long double days; // JD for which the last update was called
136  double jm;
137  static const int arguments[NUTTERMS][5];
138  static const int amp[NUTTERMS][4];
139  double vearth[3];
140 };
141 
142 #endif
NUTTERMS
#define NUTTERMS
Definition: ksnumbers.h:23
KSNumbers::updateValues
void updateValues(long double jd)
update all values for the date given as an argument.
Definition: ksnumbers.cpp:211
KSNumbers::p1
double p1(int i1, int i2) const
Definition: ksnumbers.h:99
KSNumbers::vEarth
double vEarth(int i) const
Definition: ksnumbers.h:125
KSNumbers::p2b
double p2b(int i1, int i2) const
Definition: ksnumbers.h:108
KSNumbers::getJD
long double getJD() const
Definition: ksnumbers.h:123
KSNumbers::KSNumbers
KSNumbers(long double jd)
Constructor.
Definition: ksnumbers.cpp:157
KSNumbers::p1b
double p1b(int i1, int i2) const
Definition: ksnumbers.h:105
dms.h
KSNumbers::computeConstantValues
void computeConstantValues()
compute constant values that need to be computed only once per instance of the application ...
Definition: ksnumbers.cpp:164
KSNumbers::p2
double p2(int i1, int i2) const
Definition: ksnumbers.h:102
KSNumbers::dObliq
double dObliq() const
Definition: ksnumbers.h:83
KSNumbers::~KSNumbers
~KSNumbers()
Destructor (empty).
Definition: ksnumbers.cpp:208
KSNumbers::earthPerihelionLongitude
dms earthPerihelionLongitude() const
Definition: ksnumbers.h:76
KSNumbers::julianDay
long double julianDay() const
Definition: ksnumbers.h:93
KSNumbers::obliquity
const dms * obliquity() const
Definition: ksnumbers.h:58
dms
An angle, stored as degrees, but expressible in many ways.
Definition: dms.h:42
KSNumbers::dEcLong
double dEcLong() const
Definition: ksnumbers.h:87
KSNumbers
There are several time-dependent values used in position calculations, that are not specific to an ob...
Definition: ksnumbers.h:43
KSNumbers::earthEccentricity
double earthEccentricity() const
Definition: ksnumbers.h:79
KSNumbers::sunTrueAnomaly
dms sunTrueAnomaly() const
Definition: ksnumbers.h:70
KSNumbers::constAberr
dms constAberr() const
Definition: ksnumbers.h:61
KSNumbers::julianCenturies
double julianCenturies() const
Definition: ksnumbers.h:90
KSNumbers::sunTrueLongitude
dms sunTrueLongitude() const
Definition: ksnumbers.h:73
KSNumbers::sunMeanAnomaly
dms sunMeanAnomaly() const
Definition: ksnumbers.h:64
KSNumbers::julianMillenia
double julianMillenia() const
Definition: ksnumbers.h:96
KSNumbers::sunMeanLongitude
dms sunMeanLongitude() const
Definition: ksnumbers.h:67
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:36:20 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kstars

Skip menu "kstars"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal