source: Sophya/trunk/SophyaLib/Samba/scan.h@ 396

Last change on this file since 396 was 228, checked in by ansari, 26 years ago

Creation du module DPC/Samba Reza 13/04/99

  • Property svn:executable set to *
File size: 2.5 KB
Line 
1#ifndef SCAN_H_SEEN
2#define SCAN_H_SEEN
3
4
5// includes PEIDA
6#include "ppersist.h"
7#include <iostream.h>
8#include "dvlist.h"
9class Scan : public PPersist {
10
11 public :
12 /*
13arguments du constructeur :
14 . ouverture (radians),
15 . un tableau de 3 reels (deux angles-en radians- definissant la direction de
16 l'axe de rotation du satellite + vitesse de rotation
17 en radians/s),
18 . frequence d'echantillonnage (Hz),
19 . instant final de prise de donnees (s),
20deux arguments optionnels :
21 . instant initial pour la prise de donnees
22 . offset d'antenne en angle phi
23 */
24Scan(float,float*,float,float,float,float);
25Scan(const Scan& );
26Scan() {
27 InitNull();
28 cout << " constructeur de scan par defaut" << endl;
29}
30~Scan();
31
32// ------------ Persistence handling
33
34 enum {classId = 0xF003 };
35int_4 ClassId() const { return classId; }
36
37virtual void WriteSelf(POutPersist&) const;
38virtual void ReadSelf(PInPersist&);
39
40int_4 NbPoints() const;
41int_4 NbTours() const;
42int_4 NbPts1Tr() const;
43int_4 ValueIndex(float) const;
44void Direction(float, float& ,float& );
45void DirectionIndex(int_4,float& ,float& );
46double& PixelValue(int_4 k) const;
47
48/* Surcharge de la parenthese a un indice entier : remplit ou/et renvoie */
49/* la valeur du contenu du pixel d'indice k */
50
51 inline double& operator()(int_4 k)
52 { return(PixelValue(k)) ; } ;
53//++
54DVList& Info()
55//
56// Renvoie une reference sur l'objet DVList Associe
57//--
58{
59if (mInfo_ == NULL) mInfo_ = new DVList;
60return(*mInfo_);
61}
62
63
64 private :
65
66void Clear();
67void InitNull();
68
69int_4 NmaxPts_;
70int_4 NmaxTrs_;
71int_4 NPts1Tr_;
72r_4 Ouverture_;
73r_4 OmegaTeta_; /* direction de l'axe de rotation du satellite */
74r_4 OmegaPhi_; /* (radians) */
75r_4 OmegaRad_; /* vitesse de rotation du satellite (radians/s) */
76r_4 FrequenceEch_; /* frequence d'echantillonnage (Hz)*/
77r_4 TempsFinal_;
78r_4 TempsInitial_;
79r_4 PhiZero_; /* Offset antenne (radians) */
80r_8* sPix_; /* valeurs contenues dans chaque pixel */
81r_8 Rota_[9]; /* matrice de passage : [Xf]=[Rota][Xs] */
82 /* Xs : coordonnees dans un systeme lie au satellite*/
83 /* Xf : coordonnees dans un repere "fixe" */
84DVList* mInfo_; // Infos (variables) attachees
85};
86
87
88#endif /* SCAN_H_SEEN */
Note: See TracBrowser for help on using the repository browser.