source: BAORadio/libindi/libindi/communs/astro.h @ 677

Last change on this file since 677 was 677, checked in by frichard, 12 years ago

Sauvegarde de sécurité (problème de DD). Interfae graphique de BAOcontrol en QT

File size: 3.6 KB
Line 
1////////////////////////////////
2// Classe Astro               //
3// Franck RICHARD             //
4// BAORadio                   //
5// franckrichard033@gmail.com //
6// juin 2011                  //
7////////////////////////////////
8
9#ifndef Astro_class
10#define Astro_class
11
12#include "math.h"
13#include "../communs/const.h"
14#include "stdio.h"
15#include "stdlib.h"
16#include <iostream>
17#include <string.h>
18#include <sstream>
19#include <iomanip>
20#include "const.h"
21
22using namespace std;
23
24
25
26
27struct CoordonneesHoraires
28{
29    string ar;                          // Coordonnées horaires d'un objet
30    string dec;
31};
32
33struct CoordonneesHorairesDouble
34{
35    double ar;                          // Coordonnées horaires d'un objet
36    double dec;
37};
38
39class Astro
40{
41public:
42    Astro();
43    ~Astro();
44
45       
46    void   DefinirDateHeure(double Annee, double Mois, double Jour, double Heu, double Min, double Sec);
47    void   DefinirPressionTemp(double P, double T);
48    void   DefinirLongitudeLatitude(double log, double lat);
49    double VerifAngle(double Angle);
50    double VerifDistance(double Angle);
51    double DistanceAngulaireEntre2Points(double az1, double ha1, double az2, double ha2);
52    double Arrondi(double a);
53    string DHMS(double mema, bool HMS);
54    void   Azimut(double Ar, double De, double *azi, double *hau);
55    void   AzHa2ADDe(double Az, double Ha, double *AD, double *Dec);
56    void   RechercheAzimutFinSuivi(double AD, double Dec, long int *azmin, long int *azmax);
57    void   Precession(double *ar, double *de);
58    void   NutationEtoile(double *ar, double *de);
59    void   AberrationAnnuelle(double *ar, double *de);
60    void   CalculJJ(double Heure);
61    double CalculJJ(double A, double M, double J, double Heure);
62    void   CalculTSL(); 
63    double RefractionAtmospherique(double ht);
64    double CalculLongitudeSoleil();
65    double TSL(double JJ,double HeureSiderale,double Longitude);
66    bool    Decomposition(string chaine, char type, float *a1, float *a2, float *a3);
67    void   Nutation();
68    void   Obliquite(double JJ);
69    void   atms ( double rt, double tt, double dnt, double gamal, double r,
70                   double *dn, double *rdndr );
71    void   atmt ( double robs, double tdkok, double alpha, double gamm2,
72                   double delm2, double c1, double c2, double c3,
73                   double c4, double c5, double c6, double r,
74                   double *t, double *dn, double *rdndr );
75    void   slaRefro ( double zobs, double hm, double tdk, double pmb,
76                double rh, double wl, double phi, double tlr,
77                double eps, double *ref );
78    float  slaRange(float angle );
79    double slaDrange(double angle );
80    void   CalculARDecSoleil(CoordonneesHorairesDouble *Soleil);
81   
82    double GetLatitude()    { return Latitude;  }
83    double GetLongitude()   { return Longitude; }
84    double GetPression()    { return Pression;  }
85    double GetTemperature() { return Temp;  }
86    double GetAnnee()       { return Annee; }
87    double GetMois()        { return Mois;  }
88    double GetJour()        { return Jour;  }
89    double GetHeure()       { return Heure; }
90    double GetMin()         { return Min;   }
91    double GetSec()         { return Sec;   }
92    double GetJJ()          { return JJ;    } 
93    double GetTSL()         { return tsl;   } 
94
95 
96     
97private:
98   
99    double Pression;
100    double Temp;
101    double Longitude;
102    double Latitude;
103    double JJ;
104    double CorP;
105    double CorEP;
106    double Annee;
107    double Mois;
108    double Jour;
109    double Heure;
110    double Min;
111    double Sec;
112    double ep;
113    double hs;
114    double UTCP;
115    double tsl;
116    double LongitudeSoleil;
117 
118};
119
120
121#endif
Note: See TracBrowser for help on using the repository browser.