source: Sophya/trunk/SophyaLib/Samba/mlobe.h@ 3738

Last change on this file since 3738 was 2346, checked in by ansari, 23 years ago

Correction declaration ostream << ds MainLobe - Reza+cmv 18/03/2003

File size: 1.6 KB
Line 
1// Class for representing the main antenna lobe
2// R. Ansari 1998-2000
3// DAPNIA/SPP (Saclay) / CEA LAL - IN2P3/CNRS (Orsay)
4
5#ifndef MLOBE_H_SEEN
6#define MLOBE_H_SEEN
7
8#include <math.h>
9#include <iostream>
10
11#include "sphericalmap.h"
12
13
14namespace SOPHYA {
15
16// Classe MainLobe
17// Classe pour calcul du lobe principal
18// Les valeurs du lobe sont calcules dans des pixels
19// disposes sur "nc" couches avec pavage hexagonal autour de Teta=0, Phi=0
20// Le lobe est gaussien, de sigma = "sig" - Les couches sont construites
21// toutes les "dels" * sigma
22// NPix() renvoie le nombre total de pixels du lobe
23// SetDirection() permet d orienter le lobe dans la direction "teta, phi"
24// Value() renvoie la valeur du lobe, ainsi que les teta,phi du pixel "kpx"
25// Convol() renvoie la valeur lobe convolue avec le ciel (sphere) "sph"
26
27class MainLobe {
28public:
29 MainLobe(float sig, float dels=0.5, int nc=3);
30 ~MainLobe();
31 inline int NPix() {return mNpix; }
32 inline float Sigma() {return mSigma; }
33 inline double Integral() {return mTotVal; }
34 void SetDirection(float teta, float phi);
35 double Value(int kpx, float& teta, float& phi);
36 double Convol(SphericalMap<double>& sph);
37 void Print(ostream& os) const;
38
39float mSigma, mDels;
40int mNpix, mNC;
41double mTotVal;
42float mDirTet, mDirPhi;
43float* mT0;
44float* mP0;
45float* mTC;
46float* mPC;
47float* mDx;
48float* mDy;
49float* mDr;
50double* mVal;
51};
52
53inline ostream& operator << (ostream& s, MainLobe const & ml)
54 { ml.Print(s); return(s); }
55
56} // namespace SOPHYA
57
58#endif
Note: See TracBrowser for help on using the repository browser.