Changeset 3192 in Sophya for trunk/Cosmo/RadioBeam/multicyl.h


Ignore:
Timestamp:
Mar 20, 2007, 11:48:15 AM (19 years ago)
Author:
legoff
Message:

input file read with DVcards by treccyl.cc

and by multiCylinders(char* filename)

using real units (meter and GHz)
using _ for member variables (e.g. x_)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cosmo/RadioBeam/multicyl.h

    r3191 r3192  
    2828  //   longueur @ f=2 ~ 64 (256*lambda/2 = 256*0.25)
    2929 MultiCylinders(int nr=256, int ns=1024);
     30 MultiCylinders(char* filename);
    3031 ~MultiCylinders();
    3132
    3233 // Niveau de print de debug
    33  inline void SetPrintLevel(int prl=0) { PrtLev=prl; }
     34 inline void SetPrintLevel(int prl=0) { PrtLev_=prl; }
    3435
    35  // Ajout d'un cylindre, en position posY
     36 // Ajout d'un cylindre, en position posX, posY
    3637 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(); }
    3839
    3940 MultiBeamCyl & GetCylinder(int i);
     
    4142 // Specification de la frequence de base f0 et espacement des recepteurs
    4243 inline void SetBaseFreqDa(double f0=2., double a=0.25)
    43    {  freq0 = f0;   Da = a;  }
     44   {  freq0_ = f0;   Da_ = a;  }
    4445
    4546 // frequences reduites (entre 0 ... 0.5) , angle en radian, amp ~ 1
     
    4950
    5051 // 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; }
    5253 // 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; }
    5455 // 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; }
    5657
    5758 // Definition du gain et sigma de fluctuations de gain
    5859 // nzerogain: nb de recepteurs (choisis au hasard) avec gain mis a zero
    5960 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; }
    6162
    6263
     
    7273 // @f = 2 , lambda = 0.5 ===> posY <~ lambda/(2 sin resol)
    7374 //   ===> 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);
    7577
    7678
     
    7880 // avec la moyenne des modules entre kfmin <= k (selon z) <= kfmax
    7981 TMatrix< r_4 > getRecXYSlice(int kfmin, int kfmax);
     82 TMatrix< r_4 > getRecYXSlice(int kfmin, int kfmax);
    8083
    8184 // 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_; }
    8386
    8487 // Configure chaque cylindre a partir des parametres de la classe
     
    8689 void ConfigureCylinders();
    8790
     91private:
    8892 //-------------- Variables membres ------------
    89  int NR, NS;  // nb recepteurs, nb d'echantillons ds chaque paquet
     93 int NR_, NS_;  // nb recepteurs, nb d'echantillons ds chaque paquet
    9094
    91  int PrtLev;   // Niveau de print de debug
     95 int PrtLev_;   // Niveau de print de debug
    9296
    93  double Da; // distance entre recepteurs
    94  double freq0;  // frequence de base (freqvrai=f+freq0)
     97 double Da_; // distance entre recepteurs
     98 double freq0_;  // frequence de base (freqvrai=f+freq0)
    9599 
    96  double timejitter; // le sigma du jitter en temps des coups d'horloge
    97  double toffsig;    // sigma des offsets en temps
     100 double timejitter_; // le sigma du jitter en temps des coups d'horloge
     101 double toffsig_;    // sigma des offsets en temps
    98102 
    99  BRSourceGen* src;  // Les sources
    100  bool adfg; // if true, delete src
     103 BRSourceGen* src_;  // Les sources
     104 bool adfg_; // if true, delete src
    101105
    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_;
    105109
    106  vector<MultiBeamCyl *> mCyl;  // Les differents cylindres
     110 vector<MultiBeamCyl *> mCyl_;  // Les differents cylindres
    107111
    108  TArray< complex<r_4> > cmplx_srcbox; // boite3D des sources (angX,Y,freq) reconstruit
     112 TArray< complex<r_4> > cmplx_srcbox_; // boite3D des sources (angX,Y,freq) reconstruit
    109113 };
    110114
Note: See TracChangeset for help on using the changeset viewer.