Changeset 3192 in Sophya for trunk/Cosmo/RadioBeam/multicyl.h
- Timestamp:
- Mar 20, 2007, 11:48:15 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosmo/RadioBeam/multicyl.h
r3191 r3192 28 28 // longueur @ f=2 ~ 64 (256*lambda/2 = 256*0.25) 29 29 MultiCylinders(int nr=256, int ns=1024); 30 MultiCylinders(char* filename); 30 31 ~MultiCylinders(); 31 32 32 33 // Niveau de print de debug 33 inline void SetPrintLevel(int prl=0) { PrtLev =prl; }34 inline void SetPrintLevel(int prl=0) { PrtLev_=prl; } 34 35 35 // Ajout d'un cylindre, en position pos Y36 // Ajout d'un cylindre, en position posX, posY 36 37 inline int AddCylinder(double posx, double posy) 37 { mCyl .push_back( new MultiBeamCyl(NR, NS, posx, posy) ); return mCyl.size(); }38 { mCyl_.push_back( new MultiBeamCyl(NR_, NS_, posx, posy) ); return mCyl_.size(); } 38 39 39 40 MultiBeamCyl & GetCylinder(int i); … … 41 42 // Specification de la frequence de base f0 et espacement des recepteurs 42 43 inline void SetBaseFreqDa(double f0=2., double a=0.25) 43 { freq0 = f0; Da= a; }44 { freq0_ = f0; Da_ = a; } 44 45 45 46 // frequences reduites (entre 0 ... 0.5) , angle en radian, amp ~ 1 … … 49 50 50 51 // Definition du sigma du bruit gaussien sur les echantillons 51 inline void SetNoiseSigma(double sig=0.) { signoise = sig; }52 inline void SetNoiseSigma(double sig=0.) { signoise_ = sig; } 52 53 // Definition du sigma du jitter d'horloge (typ 0.01) 53 inline void SetTimeJitter(double tjit=0.) { timejitter = tjit; }54 inline void SetTimeJitter(double tjit=0.) { timejitter_ = tjit; } 54 55 // Definition du sigma des offsets d'horloge entre recepteurs (typ 0.02) 55 inline void SetTimeOffsetSigma(double tsig=0.) { toffsig = tsig; }56 inline void SetTimeOffsetSigma(double tsig=0.) { toffsig_ = tsig; } 56 57 57 58 // Definition du gain et sigma de fluctuations de gain 58 59 // nzerogain: nb de recepteurs (choisis au hasard) avec gain mis a zero 59 60 inline void SetGains(double g=1., double sigg=0., int nzerogain=0) 60 { gain =g; siggain=sigg; ngainzero= nzerogain; }61 { gain_=g; siggain_=sigg; ngainzero_ = nzerogain; } 61 62 62 63 … … 72 73 // @f = 2 , lambda = 0.5 ===> posY <~ lambda/(2 sin resol) 73 74 // ===> posY < ~ 20 74 void ReconstructSourceBox(int halfny=10, double stepangy=M_PI/300); 75 // void ReconstructSourceBox(int halfny=10, double stepangy=M_PI/300); 76 void ReconstructSourceBox(int halfny, double stepangy, int ny, double stepangx); 75 77 76 78 … … 78 80 // avec la moyenne des modules entre kfmin <= k (selon z) <= kfmax 79 81 TMatrix< r_4 > getRecXYSlice(int kfmin, int kfmax); 82 TMatrix< r_4 > getRecYXSlice(int kfmin, int kfmax); 80 83 81 84 // Acces a la boite 3D de sources reconstruite 82 inline TArray< complex<r_4> > & getRecSrcBox() { return cmplx_srcbox ; }85 inline TArray< complex<r_4> > & getRecSrcBox() { return cmplx_srcbox_; } 83 86 84 87 // Configure chaque cylindre a partir des parametres de la classe … … 86 89 void ConfigureCylinders(); 87 90 91 private: 88 92 //-------------- Variables membres ------------ 89 int NR , NS; // nb recepteurs, nb d'echantillons ds chaque paquet93 int NR_, NS_; // nb recepteurs, nb d'echantillons ds chaque paquet 90 94 91 int PrtLev ; // Niveau de print de debug95 int PrtLev_; // Niveau de print de debug 92 96 93 double Da ; // distance entre recepteurs94 double freq0 ; // frequence de base (freqvrai=f+freq0)97 double Da_; // distance entre recepteurs 98 double freq0_; // frequence de base (freqvrai=f+freq0) 95 99 96 double timejitter ; // le sigma du jitter en temps des coups d'horloge97 double toffsig ; // sigma des offsets en temps100 double timejitter_; // le sigma du jitter en temps des coups d'horloge 101 double toffsig_; // sigma des offsets en temps 98 102 99 BRSourceGen* src ; // Les sources100 bool adfg ; // if true, delete src103 BRSourceGen* src_; // Les sources 104 bool adfg_; // if true, delete src 101 105 102 double signoise ; // sigma du bruit additif (bruit ampli ... )103 double gain , siggain;104 int ngainzero ;106 double signoise_; // sigma du bruit additif (bruit ampli ... ) 107 double gain_, siggain_; 108 int ngainzero_; 105 109 106 vector<MultiBeamCyl *> mCyl ; // Les differents cylindres110 vector<MultiBeamCyl *> mCyl_; // Les differents cylindres 107 111 108 TArray< complex<r_4> > cmplx_srcbox ; // boite3D des sources (angX,Y,freq) reconstruit112 TArray< complex<r_4> > cmplx_srcbox_; // boite3D des sources (angX,Y,freq) reconstruit 109 113 }; 110 114
Note:
See TracChangeset
for help on using the changeset viewer.