Changeset 3947 in Sophya for trunk/Cosmo/RadioBeam/mdish.h


Ignore:
Timestamp:
Feb 14, 2011, 12:58:29 AM (15 years ago)
Author:
ansari
Message:

Amelioration et modifs diverses lors de la redaction du papier, Reza 13/02/2011

File:
1 edited

Legend:

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

    r3933 r3947  
    4242  inline void setLambda(double lambda=1.)
    4343  { lambda_ = lambda;   lambda_ratio_ = lambda_/lambdaref_; }   
     44
     45  inline double getLambdaRef()   { return lambdaref_; }
     46  inline double getLambda()  { return lambda_; }
    4447 
    4548  // Return the 2D response for wave vector (kx,ky)
     
    4851  { return Value(kx, ky); }
    4952  virtual Histo2D GetResponse(int nx=255, int ny=255); 
     53  // Retourne le niveau moyen du bruit projete 1D en fonction (sqrt(u^2+v^2)
     54  HProf GetProjNoiseLevel(int nbin=128, bool fgnorm1=true);
     55  // Retourne la reponse moyenne projetee 1D en fonction (sqrt(u^2+v^2)
     56  HProf GetProjResponse(int nbin=128, bool fgnorm1=true);
     57
    5058  inline double D() { return dx_; } ;
    5159  inline double Dx() { return dx_; } ;
     
    95103  // Circular dish
    96104  Dish(int id, double x, double y, double diam)
    97     :  id_(id), X(x), Y(y), D(diam), Dx(D), Dy(D), fgcirc_(true)   {   }
     105    :  id_(id), X(x), Y(y), D(diam), Dx(D), Dy(D), fgcirc_(true), gain_(1.)   {   }
    98106  // Receiver with rectangular type answer in kx,ky plane
    99107  Dish(int id, double x, double y, double dx, double dy)
    100     :  id_(id), X(x), Y(y), D(sqrt(dx*dy)), Dx(dx), Dy(dy), fgcirc_(false)   {   }
     108    :  id_(id), X(x), Y(y), D(sqrt(dx*dy)), Dx(dx), Dy(dy), fgcirc_(false), gain_(1.)    {   }
    101109  Dish(Dish const& a)
    102     :  id_(a.id_), X(a.X), Y(a.Y), D(a.D), Dx(a.Dx), Dy(a.Dy), fgcirc_(a.fgcirc_)     {   }
     110    :  id_(a.id_), X(a.X), Y(a.Y), D(a.D), Dx(a.Dx), Dy(a.Dy), fgcirc_(a.fgcirc_), gain_(a.gain_)  {   }
     111  inline void setGain(double gain) { gain_=gain; return; }
    103112  inline bool isCircular() { return fgcirc_; }
    104113  inline int ReflectorId() { return id_; }
     
    106115  inline double DiameterX() { return Dx; }
    107116  inline double DiameterY() { return Dy; }
     117  inline double Gain() { return gain_; }
    108118
    109119  int id_;   // numero de reflecteur
     
    111121  double Dx, Dy;
    112122  bool fgcirc_;  // false -> rectangular dish
     123  double gain_;
    113124};
    114125
     
    132143  { beamnx_=nx; beamny_=ny; }
    133144
     145  // Calcul la reponse ds le plan 2D  (u,v) = (kx,ky)
     146  void ComputeResponse();
     147  // Retourne la reponse 2D ds le plan (u,v) = (kx,ky) sous forme d'histo 2D
    134148  Histo2D GetResponse();
     149
     150  // Retourne le niveau moyen du bruit projete 1D en fonction (sqrt(u^2+v^2)
     151  HProf GetProjNoiseLevel(int nbin=128, bool fgnorm1=true);
     152  // Retourne la reponse moyenne projetee 1D en fonction (sqrt(u^2+v^2)
     153  HProf GetProjResponse(int nbin=128, bool fgnorm1=true);
    135154
    136155  double CumulResp(Four2DResponse& rd, double theta=0., double phi=0.);
     
    143162  double AddToHisto(double kx0, double ky0, double x, double y, double w, bool fgfh);
    144163
    145   double lambda_, dmax_;
     164  double lambda_, dmax_, kmax_;
    146165  vector<Dish> dishes_;
    147166  bool fgnoauto_;
     
    153172  //   Histo2D h2w_, h2cnt_;
    154173  QHis2D h2w_;
     174  bool fgcomputedone_;
    155175  int mcnt_;
    156176  int prtlev_,prtmodulo_;
Note: See TracChangeset for help on using the changeset viewer.