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 |
|
---|
14 | namespace 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 |
|
---|
27 | class MainLobe {
|
---|
28 | public:
|
---|
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 | friend ostream& operator << (ostream& s, MainLobe const& lob);
|
---|
38 | inline void Print() { cout << (*this); }
|
---|
39 |
|
---|
40 | float mSigma, mDels;
|
---|
41 | int mNpix, mNC;
|
---|
42 | double mTotVal;
|
---|
43 | float mDirTet, mDirPhi;
|
---|
44 | float* mT0;
|
---|
45 | float* mP0;
|
---|
46 | float* mTC;
|
---|
47 | float* mPC;
|
---|
48 | float* mDx;
|
---|
49 | float* mDy;
|
---|
50 | float* mDr;
|
---|
51 | double* mVal;
|
---|
52 | };
|
---|
53 |
|
---|
54 | } // namespace SOPHYA
|
---|
55 |
|
---|
56 | #endif
|
---|