Changeset 3271 in Sophya


Ignore:
Timestamp:
Jun 20, 2007, 6:50:48 PM (18 years ago)
Author:
cmv
Message:

intro evolution bruit avec redshift cmv 20/06/2007

Location:
trunk/Cosmo/SimLSS
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cosmo/SimLSS/cmvdefsurv.cc

    r3261 r3271  
    185185 if(redlim[0]<=0.)
    186186   {cout<<"Lower redshift limit "<<redlim[0]<<" should be >0"<<endl; return -3;}
    187  double dtrlim[2] = {univ.Dtrcom(redlim[0]),univ.Dtrcom(redlim[1])};
    188  double loslim[2] = {univ.Dloscom(redlim[0]), univ.Dloscom(redlim[1])};
     187 double dtrlim[2]  = {univ.Dtrcom(redlim[0]),univ.Dtrcom(redlim[1])};
     188 double loslim[2]  = {univ.Dloscom(redlim[0]), univ.Dloscom(redlim[1])};
    189189 double dlumlim[2] = {univ.Dlum(redlim[0]),univ.Dlum(redlim[1])};
    190190
     
    192192 cout<<"---- Line of Sight: Redshift = "<<redshift<<endl
    193193     <<"dred = "<<dred<<"  redlarg = "<<redlarg<<endl
    194      <<"  dz = "<<dz<<" Mpc  redlarg = "<<tzlarg<<" Mpc, nz = "<<nz<<" pix"<<endl;
     194     <<"  dz = "<<dz<<" Mpc  redlarg = "<<tzlarg<<" Mpc com, nz = "<<nz<<" pix"<<endl;
    195195 cout<<"---- Transverse X:"<<endl
    196196     <<"adtx = "<<rad2min(adtx)<<"\',  atxlarg = "<<rad2deg(atxlarg)<<" d"<<endl
    197      <<"  dx = "<<dx<<" Mpc,  txlarg = "<<txlarg<<" Mpc, nx = "<<nx<<" pix"<<endl;
     197     <<"  dx = "<<dx<<" Mpc,  txlarg = "<<txlarg<<" Mpc com, nx = "<<nx<<" pix"<<endl;
    198198 cout<<"---- Transverse Y:"<<endl
    199199     <<"adty = "<<rad2min(adty)<<"\',  atylarg = "<<rad2deg(atylarg)<<" d"<<endl
    200      <<"  dy = "<<dy<<" Mpc,  tylarg = "<<tylarg<<" Mpc, ny = "<<ny<<" pix"<<endl;
     200     <<"  dy = "<<dy<<" Mpc,  tylarg = "<<tylarg<<" Mpc com, ny = "<<ny<<" pix"<<endl;
    201201 cout<<"---- Npix total = "<<Npix<<" -> "<<Npix*sizeof(double)/1.e6<<" Mo"<<endl;
    202202
     
    275275 // dnu = NuHi/(1.+z0-dz/2) - NuHi/(1.+z0+dz/2)
    276276 //     = NuHi*dz/(1.+z0)^2 * 1/[1-(dz/(2*(1+z0)))^2]
     277 //    ~= NuHi*dz/(1.+z0)^2
    277278 double dnuhiz = Fr_HyperFin_Par *dred/(unplusz*unplusz)
    278279               / (1.- pow(dred/.2/unplusz,2.));
  • trunk/Cosmo/SimLSS/cmvobserv3d.cc

    r3267 r3271  
    3030     <<" -z nz,dz : size along z axis (redshift axis, npix,Mpc)"<<endl
    3131     <<" -Z zref : redshift for the center of the simulation cube"<<endl
    32      <<" -s snoise : gaussian noise sigma in equivalent Msol"<<endl
     32     <<" -s snoise,evol : gaussian noise sigma in equivalent Msol"<<endl
     33     <<"                  if evol>0 noise evolved with distance (def no)"<<endl
    3334     <<" -2 : compute also 2D spectrum (default: no)"<<endl
    3435     <<" -M schmin,schmax,nsch : min,max mass and nb points for schechter HI"<<endl
     
    8081 // *** Niveau de bruit
    8182 double snoise= 0.;   // en equivalent MSol
     83 int isnoise_evol = 0;
    8284
    8385 // *** AGN
     
    125127    break;
    126128  case 's' :
    127     sscanf(optarg,"%lf",&snoise);
     129    sscanf(optarg,"%lf,%d",&snoise,&isnoise_evol);
    128130    break;
    129131  case 'Z' :
     
    169171     <<"), schmax="<<schmax<<" ("<<lschmax<<") Msol"
    170172     <<", schnpt="<<schnpt<<endl;
    171  cout<<"snoise="<<snoise<<" equivalent Msol"<<endl;
     173 cout<<"snoise="<<snoise<<" equivalent Msol, evolution="<<isnoise_evol<<endl;
    172174 if(do_agn)
    173175   cout<<"AGN: <log10(Jy)>="<<lfjy_agn<<" , sigma="<<lsigma_agn
     
    487489
    488490 if(snoise>0.) {
    489    cout<<"\n--- Add noise to HI Flux snoise="<<snoise<<endl;
    490    fluct3d.AddNoise2Real(snoise);
     491   cout<<"\n--- Add noise to HI Flux snoise="<<snoise<<", evolution="<<isnoise_evol<<endl;
     492   fluct3d.AddNoise2Real(snoise,(isnoise_evol>0? true:false));
    491493     nm = fluct3d.MeanSigma2(rm,rs2);
    492494   PrtTim(">>>> End Add noise");
  • trunk/Cosmo/SimLSS/genefluct3d.cc

    r3267 r3271  
    3131//-------------------------------------------------------
    3232GeneFluct3D::GeneFluct3D(TArray< complex<r_8 > >& T)
    33   : T_(T) , Nx_(0) , Ny_(0) , Nz_(0) , array_allocated_(false) , lp_(0)
    34   , redshref_(-999.) , kredshref_(0.) , cosmo_(NULL) , growth_(NULL)
    35   , loscom_ref_(-999.), loscom_min_(-999.), loscom_max_(-999.)
     33  : Nx_(0) , Ny_(0) , Nz_(0)
     34  , lp_(0)
     35  , array_allocated_(false) , T_(T)
     36  , cosmo_(NULL) , growth_(NULL)
     37  , redsh_ref_(-999.), kredsh_ref_(0.), dred_ref_(-999.)
     38  , loscom_ref_(-999.), dtrc_ref_(-999.), dlum_ref_(-999.), dang_ref_(-999.)
     39  , nu_ref_(-999.), dnu_ref_ (-999.)
     40  , loscom_min_(-999.), loscom_max_(-999.)
    3641  , loscom2zred_min_(0.) , loscom2zred_max_(0.)
    3742{
     
    7681 if(kredshref<0.) {
    7782   if(Nz_<=0) {
    78      char *bla = "GeneFluct3D::SetObservator_Error: for kredshref<0 SetSize should be called first";
     83     char *bla = "GeneFluct3D::SetObservator_Error: for kredsh_ref<0 SetSize should be called first";
    7984     cout<<bla<<endl; throw ParmError(bla);
    8085   }
    8186   kredshref = Nz_/2.;
    8287 }
    83  redshref_  = redshref;
    84  kredshref_ = kredshref;
     88 redsh_ref_  = redshref;
     89 kredsh_ref_ = kredshref;
    8590 if(lp_>0)
    86    cout<<"--- GeneFluct3D::SetObservator zref="<<redshref_<<" kref="<<kredshref_<<endl;
     91   cout<<"--- GeneFluct3D::SetObservator zref="<<redsh_ref_<<" kref="<<kredsh_ref_<<endl;
    8792}
    8893
     
    206211 if(lp_>0) cout<<"--- LosComRedshift: zinc="<<zinc<<" , npoints="<<npoints<<endl;
    207212
    208  if(cosmo_ == NULL || redshref_<0.) {
     213 if(cosmo_ == NULL || redsh_ref_<0.) {
    209214   char *bla = "GeneFluct3D::LosComRedshift_Error: set Observator and Cosmology first";
    210215   cout<<bla<<endl; throw ParmError(bla);
     216 }
     217
     218 // La distance angulaire/luminosite/Dnu au pixel de reference
     219 dred_ref_ = Dz_/(cosmo_->Dhubble()/cosmo_->E(redsh_ref_));
     220 loscom_ref_ = cosmo_->Dloscom(redsh_ref_);
     221 dtrc_ref_ = cosmo_->Dtrcom(redsh_ref_);
     222 dlum_ref_ = cosmo_->Dlum(redsh_ref_);
     223 dang_ref_ = cosmo_->Dang(redsh_ref_);
     224 nu_ref_   = Fr_HyperFin_Par/(1.+redsh_ref_); // GHz
     225 dnu_ref_  = Fr_HyperFin_Par *dred_ref_/pow(1.+redsh_ref_,2.); // GHz
     226 if(lp_>0) {
     227   cout<<"...reference pixel redshref="<<redsh_ref_
     228       <<", dredref="<<dred_ref_
     229       <<", nuref="<<nu_ref_ <<" GHz"
     230       <<", dnuref="<<dnu_ref_ <<" GHz"<<endl
     231       <<"   dlosc="<<loscom_ref_<<" Mpc com"
     232       <<", dtrc="<<dtrc_ref_<<" Mpc com"
     233       <<", dlum="<<dlum_ref_<<" Mpc"
     234       <<", dang="<<dang_ref_<<" Mpc"<<endl;
    211235 }
    212236
     
    214238 // cad dans le repere ou l'origine est au centre du pixel i=j=l=0.
    215239 // L'observateur est sur un axe centre sur le milieu de la face Oxy
    216  double loscom_ref_ = cosmo_->Dloscom(redshref_);
    217240 xobs_[0] = Nx_/2.*Dx_;
    218241 xobs_[1] = Ny_/2.*Dy_;
    219  xobs_[2] = kredshref_*Dz_ - loscom_ref_;
     242 xobs_[2] = kredsh_ref_*Dz_ - loscom_ref_;
    220243
    221244 // L'observateur est-il dans le cube?
     
    229252 if(!obs_in_cube) loscom_min_ = -xobs_[2];
    230253
     254 // TO BE FIXED TO BE FIXED TO BE FIXED TO BE FIXED TO BE FIXED TO BE FIXED
     255 if(loscom_min_<=1.e-50)
     256   for(int i=0;i<50;i++)
     257     cout<<"ATTENTION TOUTES LES PARTIES DU CODE NE MARCHENT PAS POUR UN OBSERVATEUR DANS LE CUBE"<<endl;
     258 // TO BE FIXED TO BE FIXED TO BE FIXED TO BE FIXED TO BE FIXED TO BE FIXED
     259
     260
    231261 // Find MAXIMUM los com distance to the observer:
    232262 // ou que soit positionne l'observateur, la distance
     
    234264 loscom_max_ = 0.;
    235265 for(long i=0;i<=1;i++) {
    236    double dx2 = xobs_[0] - i*(Nx_-1)*Dx_; dx2 *= dx2;
     266   double dx2 = DXcom(i*(Nx_-1)); dx2 *= dx2;
    237267   for(long j=0;j<=1;j++) {
    238      double dy2 = xobs_[1] - j*(Ny_-1)*Dy_; dy2 *= dy2;
     268     double dy2 = DYcom(j*(Ny_-1)); dy2 *= dy2;
    239269     for(long k=0;k<=1;k++) {
    240        double dz2 = xobs_[2] - k*(Nz_-1)*Dz_; dz2 *= dz2;
     270       double dz2 = DZcom(k*(Nz_-1)); dz2 *= dz2;
    241271       dz2 = sqrt(dx2+dy2+dz2);
    242272       if(dz2>loscom_max_) loscom_max_ = dz2;
     
    245275 }
    246276 if(lp_>0) {
    247    cout<<"...zref="<<redshref_<<" kzref="<<kredshref_<<" losref="<<loscom_ref_<<" Mpc\n"
     277   cout<<"...zref="<<redsh_ref_<<" kzref="<<kredsh_ref_<<" losref="<<loscom_ref_<<" Mpc\n"
    248278       <<"   xobs="<<xobs_[0]<<" , "<<xobs_[1]<<" , "<<xobs_[2]<<" Mpc "
    249279       <<" in_cube="<<obs_in_cube
    250        <<" loscom_min="<<loscom_min_<<" loscom_max="<<loscom_max_<<" Mpc "<<endl;
     280       <<" loscom_min="<<loscom_min_<<" loscom_max="<<loscom_max_<<" Mpc (com)"<<endl;
    251281 }
    252282
     
    312342   fwrt.WriteKey("DKY",Dky_," Mpc^-1");
    313343   fwrt.WriteKey("DKZ",Dkz_," Mpc^-1");
    314    fwrt.WriteKey("ZREF",redshref_," reference redshift");
    315    fwrt.WriteKey("KZREF",kredshref_," reference redshift on z axe");
     344   fwrt.WriteKey("ZREF",redsh_ref_," reference redshift");
     345   fwrt.WriteKey("KZREF",kredsh_ref_," reference redshift on z axe");
    316346   fwrt.Write(R_);
    317347 } catch (PThrowable & exc) {
     
    364394   R_.Info()["DY"] = (r_8)Dy_;
    365395   R_.Info()["DZ"] = (r_8)Dz_;
    366    R_.Info()["ZREF"] = (r_8)redshref_;
    367    R_.Info()["KZREF"] = (r_8)kredshref_;
     396   R_.Info()["ZREF"] = (r_8)redsh_ref_;
     397   R_.Info()["KZREF"] = (r_8)kredsh_ref_;
    368398   POutPersist pos(cfname.c_str());
    369399   if(write_real) pos << PPFNameTag("rgen")  << R_;
     
    432462     <<", Kmax="<<GetKmax()<<" Mpc^-1"<<endl;
    433463 cout<<"          (2Pi/k: "<<2.*M_PI/Knyqx_<<" "<<2.*M_PI/Knyqy_<<" "<<2.*M_PI/Knyqz_<<" Mpc)"<<endl;
    434  cout<<"Redshift "<<redshref_<<" for z axe at k="<<kredshref_<<endl;
     464 cout<<"Redshift "<<redsh_ref_<<" for z axe at k="<<kredsh_ref_<<endl;
    435465}
    436466
     
    10441074//               de l'histo ne sont pas vraiment ce que l'on veut
    10451075// --- Limitations actuelle du code:
    1046 // . les AGN sont supposes en loi de puissance IDENTIQUE pour tout theta,phi
     1076// . les AGN sont supposes evoluer avec la meme loi de puissance pour tout theta,phi
    10471077// . le flux des AGN est mis dans une colonne Oz (indice k) et pas sur la ligne de visee
    10481078// . la distribution est approximee a une gaussienne
     
    10501080//     et pour un cube peu epais / distance observateur
    10511081// --- Parametres de la routine:
    1052 // llfy : c'est le <log10(S)> du flux depose dans un pixel par les AGN
    1053 // lsigma : c'est le sigma de la distribution
    1054 // powlaw : c'est la pente de ls distribution cad que le flux "lmsol"
     1082// llfy : c'est le <log10(S)> du flux depose par les AGN
     1083//        dans l'angle solide du pixel elementaire de reference du cube
     1084// lsigma : c'est le sigma de la distribution des log10(S)
     1085// powlaw : c'est la pente de la distribution cad que le flux "lmsol"
    10551086//          et considere comme le flux a 1.4GHz et qu'on suppose une loi
    10561087//             F(nu) = (1.4GHz/nu)^powlaw * F(1.4GHz)
     
    10641095  check_array_alloc();
    10651096
    1066  if(cosmo_ == NULL || redshref_<0.| loscom2zred_.size()<1) {
     1097 if(cosmo_ == NULL || redsh_ref_<0.| loscom2zred_.size()<1) {
    10671098   char *bla = "GeneFluct3D::AddAGN_Error: set Observator and Cosmology first";
    10681099   cout<<bla<<endl; throw ParmError(bla);
    10691100 }
    10701101
    1071  // La distance angulaire/luminosite/Dnu au centre
    1072  double dangref = cosmo_->Dang(redshref_);
    1073  double dlumref = cosmo_->Dlum(redshref_);
    1074  double dredref  = Dz_/(cosmo_->Dhubble()/cosmo_->E(redshref_));
    1075  double dnuref = Fr_HyperFin_Par *dredref/pow(1.+redshref_,2.); // GHz
    1076  double fagnref = pow(10.,lfjy)*(dnuref*1.e9); // Jy.Hz
    1077  double magnref = FluxHI2Msol(fagnref*Jansky2Watt_cst,dlumref); // Msol
    1078  if(lp_>0) {
    1079    cout<<"Au centre: z="<<redshref_<<", dredref="<<dredref<<", dnuref="<<dnuref<<" GHz"<<endl
    1080        <<" dang="<<dangref<<" Mpc, dlum="<<dlumref<<" Mpc,"
    1081        <<" fagnref="<<fagnref<<" Jy.Hz (a 1.4GHz), magnref="<<magnref<<" Msol"<<endl;
    1082  }
     1102 // Le flux des AGN en Jy et en mass solaire
     1103 double fagnref = pow(10.,lfjy)*(dnu_ref_*1.e9); // Jy.Hz = W/m^2
     1104 double magnref = FluxHI2Msol(fagnref*Jansky2Watt_cst,dlum_ref_); // Msol
     1105 if(lp_>0)
     1106   cout<<"Au pixel de ref: fagnref="<<fagnref
     1107       <<" Jy.Hz (a 1.4GHz), magnref="<<magnref<<" Msol"<<endl;
    10831108
    10841109 if(powlaw!=0.) {
    1085    // F(nu) = (nu GHz/1.4 Ghz)^p * F(1.4GHz) et nu = 1.4 GHz / (1+z)
    1086    magnref *= pow(1/(1.+redshref_),powlaw);
     1110   // F(nu) = F(1.4GHz)*(nu GHz/1.4 Ghz)^p = F(1.4GHz)*(1/(1+z))^p , car nu = 1.4 GHz/(1+z)
     1111   magnref *= pow(1/(1.+redsh_ref_),powlaw);
    10871112   if(lp_>0) cout<<" powlaw="<<powlaw<<"  -> change magnref to "<<magnref<<" Msol"<<endl;
    10881113 }
     
    10911116 vector<double> correction;
    10921117 InterpFunc interpinv(loscom2zred_min_,loscom2zred_max_,loscom2zred_);
     1118 long nzmod = ((Nz_>10)?Nz_/10:1);
    10931119 for(long l=0;l<Nz_;l++) {
    1094    double z = fabs(xobs_[2] - l*Dz_);
     1120   double z = fabs(DZcom(l));
    10951121   double zred = interpinv(z);
    1096    double dang = cosmo_->Dang(zred);  // pour variation angle solide
     1122   double dtrc = cosmo_->Dtrcom(zred);  // pour variation angle solide
    10971123   double dlum = cosmo_->Dlum(zred);  // pour variation conversion mass HI
    10981124   double dred = Dz_/(cosmo_->Dhubble()/cosmo_->E(zred));
    10991125   double dnu  = Fr_HyperFin_Par *dred/pow(1.+zred,2.); // pour variation dNu
    1100    double corr = dnu/dnuref*pow(dangref/dang*dlum/dlumref,2.);
    1101    if(powlaw!=0.) corr *= pow((1.+redshref_)/(1.+zred),powlaw);
     1126   // on a: Mass ~ DNu * Dlum^2 / Dtrcom^2
     1127   double corr = dnu/dnu_ref_*pow(dtrc_ref_/dtrc*dlum/dlum_ref_,2.);
     1128   // F(nu) = F(1.4GHz)*(nu GHz/1.4 Ghz)^p = F(1.4GHz)*(1/(1+z))^p , car nu = 1.4 GHz/(1+z)
     1129   if(powlaw!=0.) corr *= pow((1.+redsh_ref_)/(1.+zred),powlaw);
    11021130   correction.push_back(corr);
    1103    if(lp_>0 && (l==0 || abs(l-Nz_/2)<2 || l==Nz_-1)) {
    1104      cout<<"l="<<l<<" z="<<z<<" red="<<zred
    1105          <<" da="<<dang<<" dlu="<<dlum<<" dred="<<dred
    1106          <<" dnu="<<dnu<<" -> corr="<<corr<<endl;
     1131   if(lp_>0 && (l==0 || l==Nz_-1 || l%nzmod==0)) {
     1132     cout<<"l="<<l<<" z="<<z<<" red="<<zred<<" dred="<<dred<<" dnu="<<dnu
     1133         <<" dtrc="<<dtrc<<" dlum="<<dlum
     1134         <<" -> cor="<<corr<<endl;
    11071135   }
    11081136 }
     
    11341162 check_array_alloc();
    11351163
     1164 vector<double> correction;
     1165 InterpFunc *intercor = NULL;
     1166
     1167 if(with_evol) {
     1168   // Sigma_Noise(en mass) :
     1169   //      Slim ~ 1/sqrt(DNu) * sqrt(nlobe)   en W/m^2Hz
     1170   //      Flim ~ sqrt(DNu) * sqrt(nlobe)   en W/m^2
     1171   //      Mlim ~ sqrt(DNu) * (Dlum)^2 * sqrt(nlobe)  en Msol
     1172   //                                    nlobe ~ 1/Dtrcom^2
     1173   //      Mlim ~ sqrt(DNu) * (Dlum)^2 / Dtrcom
     1174   if(cosmo_ == NULL || redsh_ref_<0.| loscom2zred_.size()<1) {
     1175     char *bla = "GeneFluct3D::AddNoise2Real_Error: set Observator and Cosmology first";
     1176     cout<<bla<<endl; throw ParmError(bla);
     1177   }
     1178   InterpFunc interpinv(loscom2zred_min_,loscom2zred_max_,loscom2zred_);
     1179   long nsz = loscom2zred_.size(), nszmod=((nsz>10)? nsz/10: 1);
     1180   for(long i=0;i<nsz;i++) {
     1181     double d = interpinv.X(i);
     1182     double zred = interpinv(d);
     1183     double dtrc = cosmo_->Dtrcom(zred);  // pour variation angle solide
     1184     double dlum = cosmo_->Dlum(zred);  // pour variation conversion mass HI
     1185     double dred = Dz_/(cosmo_->Dhubble()/cosmo_->E(zred));
     1186     double dnu  = Fr_HyperFin_Par *dred/pow(1.+zred,2.); // pour variation dNu
     1187     double corr = sqrt(dnu/dnu_ref_) * pow(dlum/dlum_ref_,2.) * dtrc_ref_/dtrc;
     1188     if(lp_>0 && (i==0 || i==nsz-1 || i%nszmod==0))
     1189       cout<<"i="<<i<<" d="<<d<<" red="<<zred<<" dred="<<dred<<" dnu="<<dnu
     1190           <<" dtrc="<<dtrc<<" dlum="<<dlum<<" -> cor="<<corr<<endl;
     1191     correction.push_back(corr);
     1192   }
     1193   intercor = new InterpFunc(loscom2zred_min_,loscom2zred_max_,correction);
     1194 }
     1195
     1196 double dx2=0., dy2=0., dz2=0.;
    11361197 for(long i=0;i<Nx_;i++) {
     1198   dx2 = DXcom(i); dx2 *= dx2;
    11371199   for(long j=0;j<Ny_;j++) {
     1200     dy2 = DYcom(j); dy2 *= dy2;
    11381201     for(long l=0;l<Nz_;l++) {
     1202       double corr = 1.;
     1203       if(with_evol) {
     1204         dz2 = DZcom(l); dz2 *= dz2; dz2 = sqrt(dx2+dy2+dz2);
     1205         corr = (*intercor)(dz2);
     1206       }
    11391207       int_8 ip = IndexR(i,j,l);
    1140        data_[ip] += snoise*NorRand();
    1141      }
    1142    }
    1143  }
    1144 
    1145 }
    1146 
     1208       data_[ip] += snoise*corr*NorRand();
     1209     }
     1210   }
     1211 }
     1212
     1213 if(intercor!=NULL) delete intercor;
     1214}
  • trunk/Cosmo/SimLSS/genefluct3d.h

    r3267 r3271  
    2828  void SetNThread(unsigned short nthread=0) {nthread_ = nthread;}
    2929  void SetSize(long nx,long ny,long nz,double dx,double dy,double dz);  // Mpc
     30  // Distance los comobile a l'observateur
    3031  void SetObservator(double redshref=0.,double kredshref=0.);
     32    inline double DXcom(long i) {return i*Dx_ - xobs_[0];}
     33    inline double DYcom(long j) {return j*Dy_ - xobs_[1];}
     34    inline double DZcom(long k) {return k*Dz_ - xobs_[2];}
     35    inline double Dcom(long i,long j,long k) {
     36      double dx=DXcom(i), dy=DYcom(j), dz=DZcom(k);
     37      return sqrt(dx*dx+dy*dy+dz*dz);
     38    }
    3139  void SetCosmology(CosmoCalc& cosmo);
    3240  void SetGrowthFactor(GrowthFactor& growth);
     
    135143
    136144  // l'observateur
    137   double redshref_,kredshref_;
    138145  CosmoCalc *cosmo_;
    139146  GrowthFactor *growth_;
     147  double redsh_ref_,kredsh_ref_,dred_ref_;
     148  double loscom_ref_,dtrc_ref_, dlum_ref_, dang_ref_;
     149  double nu_ref_, dnu_ref_ ;
    140150  double xobs_[3];
    141   double loscom_ref_, loscom_min_, loscom_max_;
     151  double loscom_min_, loscom_max_;
    142152  vector<double> zred_, loscom_;
    143153  double loscom2zred_min_, loscom2zred_max_;
Note: See TracChangeset for help on using the changeset viewer.