source: Sophya/trunk/Cosmo/RadioBeam/lobe.h@ 3986

Last change on this file since 3986 was 3986, checked in by ansari, 14 years ago

modification rapport maxi a appliquer lors des corrections de beams, Reza 05/05/2011

File size: 2.0 KB
RevLine 
[3787]1/* ------------------------ Projet BAORadio --------------------
2 Calcul de l'effet de lobe sur Carte2D (angleX,angleY) et
[3788]3 cube 3D (angleX,angleY, frquences)
[3787]4 R. Ansari , C. Magneville - Juin 2010
5--------------------------------------------------------------- */
6
7#ifndef BEAMH_SEEN
8#define BEAMH_SEEN
9
10#include "machdefs.h" // SOPHYA .h
11#include "sopnamsp.h" // SOPHYA .h
12#include <math.h>
13#include <iostream>
14#include <vector>
15#include <string>
16
17#include "tarray.h"
18#include "vector3d.h"
19#include "mdish.h"
20
21#ifndef TF
22#define TF r_4
23#endif
24
25class BeamEffect {
26public:
[3788]27 // Definition de l'objet avec la reponse en frequence de l'instrument
[3797]28 BeamEffect(Four2DResponse& resp, bool preservefreq0=true);
[3973]29
30 // Applique l'effet d'un lobe fixe (frequency independent) au cube 3D (2 angles, frequence)
31 void ApplyLobe(TArray< TF >& a, double dx, double dy, double freq);
32
33 // Applique l'effet de lobe au cube 3D (2 angles, frequence), pour chaque plan de frequence successivement
34 // En faisant varier la reponse de lobe avec la frequence
[3787]35 void ApplyLobe3D(TArray< TF >& a, double dx, double dy, double f0, double df);
36
[3788]37 // Corrige de l'effet de l'effet de lobe, pour chaque plan de frequence, pour tout ramener au lobe defini par "rep"
[3986]38 void Correct2RefLobe(Four2DResponse& rep, TArray< TF >& a, double dx, double dy, double f0, double df, double maxratio=10.);
[3788]39
40 // Applique l'effet de lobe "rep" dans le plan de Fourier pour une frequence (longueur d'onde) fixee
[3797]41 void ApplyLobeK2D(Four2DResponse& rep, TArray< complex<TF> >& f2d, double dkx, double dky);
[3788]42
43 // Re-echntillonnage du cube 3D en appliquant les facteurs xfac,yfac,zfac selon chaque direction
44 // fac = 2 ---> on double le nombre d'echantillon , fac=0.5 : un echantillon sur deux
[3787]45 static TArray< TF > ReSample(TArray< TF >& a, double xfac, double yfac, double zfac);
[3788]46
47 // On ajoute du bruit gaussien au cube 3D - espace des positions
[3787]48 static void AddNoise(TArray< TF >& a, double pixsignoise, bool fgcmsig=true);
49
50 Four2DResponse& fresp_;
[3797]51 bool preservefreq0_;
[3787]52};
53
54#endif
Note: See TracBrowser for help on using the repository browser.