Changeset 3769 in Sophya for trunk/Cosmo/RadioBeam/specpk.cc


Ignore:
Timestamp:
May 7, 2010, 6:44:43 PM (15 years ago)
Author:
ansari
Message:

Corrections/amelioration du programme de calcul de la sensibilite interfero, Reza 07/05/2010

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cosmo/RadioBeam/specpk.cc

    r3756 r3769  
    154154  // sa_size_t is large integer type 
    155155  for(sa_size_t kz=0; kz<fourAmp.SizeZ(); kz++) {
    156     kzz =  (kz>fourAmp.SizeZ()/2) ? (double)(fourAmp.SizeZ()-kz)*dkz_ : (double)kz*dkz_;
     156    kzz =  (kz>fourAmp.SizeZ()/2) ? -(double)(fourAmp.SizeZ()-kz)*dkz_ : (double)kz*dkz_;
    157157    for(sa_size_t ky=0; ky<fourAmp.SizeY(); ky++) {
    158       kyy =  (ky>fourAmp.SizeY()/2) ? (double)(fourAmp.SizeY()-ky)*dky_ : (double)ky*dky_;
     158      kyy =  (ky>fourAmp.SizeY()/2) ? -(double)(fourAmp.SizeY()-ky)*dky_ : (double)ky*dky_;
    159159      for(sa_size_t kx=0; kx<fourAmp.SizeX(); kx++) {
    160160        double kxx=(double)kx*dkx_;
     
    194194// cells with amp^2=re^2+im^2>s2cut are ignored
    195195// Output : power spectrum (profile histogram)
    196 HProf Four3DPk::ComputePk(double s2cut, double kmin, double kmax, int nbin)
     196HProf Four3DPk::ComputePk(double s2cut, int nbin, double kmin, double kmax)
    197197{
    198198  // The second half of the array along Y (matrix rows) contain
     
    202202  // as a function of wave-number k = sqrt((double)(kx*kx+ky*ky))
    203203  //  if (nbin < 1) nbin = nbh/2;
     204  if ((kmax<0.)||(kmax<kmin)) {
     205    kmin=0.;
     206    double maxx=fourAmp.SizeX()*dkx_;
     207    double maxy=fourAmp.SizeY()*dky_/2;
     208    double maxz=fourAmp.SizeZ()*dkz_/2;
     209    kmax=sqrt(maxx*maxx+maxy*maxy+maxz*maxz);
     210  }
     211  if (nbin<2) nbin=128;
    204212  HProf hp(kmin, kmax, nbin);
    205213  hp.SetErrOpt(false);
Note: See TracChangeset for help on using the changeset viewer.