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

Last change on this file since 758 was 470, checked in by ansari, 26 years ago

versions templatees, NdataBlocks etc. 15-OCT-99-GLM

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