IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 7, 2008, 10:55:21 AM (18 years ago)
Author:
eugene
Message:

fix errors with star density normalizations and flux consistency

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppSim/src/ppSimLoadStars.c

    r14813 r17557  
    1818    }
    1919
    20     float zp = psMetadataLookupF32(NULL, config->arguments, "ZEROPOINT"); // Photometric zero point
    21     float ra0 = psMetadataLookupF32(NULL, config->arguments, "RA"); // Boresight RA (radians)
    22     float dec0 = psMetadataLookupF32(NULL, config->arguments, "DEC"); // Boresight Dec (radians)
    23     float pa = psMetadataLookupF32(NULL, config->arguments, "PA"); // Position angle (radians)
    24     float seeing = psMetadataLookupF32(NULL, config->arguments, "SEEING"); // Seeing sigma (pix)
    25     float scale = psMetadataLookupF32(NULL, config->arguments, "SCALE") * M_PI / 3600.0 / 180.0; // Plate scale (radians/pixel)
    26     float expTime = psMetadataLookupF32(NULL, config->arguments, "EXPTIME"); // Exposure time
     20    // XXX push these into the recipe in ppSimArguments()
     21    float zp      = psMetadataLookupF32(NULL, recipe, "ZEROPOINT"); // Photometric zero point
     22    float ra0     = psMetadataLookupF32(NULL, recipe, "RA");        // Boresight RA (radians)
     23    float dec0    = psMetadataLookupF32(NULL, recipe, "DEC");       // Boresight Dec (radians)
     24    float pa      = psMetadataLookupF32(NULL, recipe, "PA");        // Position angle (radians)
     25    float seeing  = psMetadataLookupF32(NULL, recipe, "SEEING");    // Seeing SIGMA (pixels)
     26    float scale   = psMetadataLookupF32(NULL, recipe, "SCALE") * M_PI / 3600.0 / 180.0; // Plate scale (radians/pixel)
     27    float expTime = psMetadataLookupF32(NULL, recipe, "EXPTIME");   // Exposure time (sec)
    2728
    2829    // Size of FPA
     
    6869
    6970        // Convert magnitude to peak flux
    70         star->flux = powf(10.0, -0.4 * (star->mag - zp)) * expTime;
    71         star->peak = star->flux / (2.0*M_PI * PS_SQR(seeing));
     71        star->flux = ppSimMagToFlux (star->mag, zp) * expTime;
     72        star->peak = ppSimStarFluxToPeak (star->flux, seeing);
     73
    7274        stars->data[oldSize + i] = star;
    7375
     
    7577    }
    7678    stars->n = oldSize + refStars->n;
     79
     80    pmLumFunc *lumfunc = psastroLuminosityFunction (refStars);
    7781    psFree(refStars);
    7882
    7983    psMetadataAddF64(fpa->concepts, PS_LIST_TAIL, "FPA.RA", PS_META_REPLACE, "Right ascension", ra0);
    8084    psMetadataAddF64(fpa->concepts, PS_LIST_TAIL, "FPA.DEC", PS_META_REPLACE, "Declination", dec0);
     85   
     86    if (lumfunc) {
     87        psMetadataAddF64(fpa->concepts, PS_LIST_TAIL, "STARS.REAL.MAG.MIN",   PS_META_REPLACE, "min valid magnitude",             lumfunc->mMin);
     88        psMetadataAddF64(fpa->concepts, PS_LIST_TAIL, "STARS.REAL.MAG.MAX",   PS_META_REPLACE, "max valid magnitude",             lumfunc->mMax);
     89        psMetadataAddF64(fpa->concepts, PS_LIST_TAIL, "STARS.REAL.LF.SLOPE",  PS_META_REPLACE, "log-mag histogram slope",         lumfunc->slope);
     90        psMetadataAddF64(fpa->concepts, PS_LIST_TAIL, "STARS.REAL.LF.OFFSET", PS_META_REPLACE, "log-mag histogram offset",        lumfunc->offset);
     91        psMetadataAddF64(fpa->concepts, PS_LIST_TAIL, "STARS.REAL.MAG.PEAK",  PS_META_REPLACE, "magnitude of peak bin",           lumfunc->mPeak);
     92        psMetadataAddF64(fpa->concepts, PS_LIST_TAIL, "STARS.REAL.NUM.PEAK",  PS_META_REPLACE, "number of stars in peak bin", lumfunc->nPeak);
     93        psMetadataAddF64(fpa->concepts, PS_LIST_TAIL, "STARS.REAL.SUM.PEAK",  PS_META_REPLACE, "sum of stars up to peak bin", lumfunc->sPeak);
     94        psFree (lumfunc);
     95    }
    8196
    8297    return stars;
Note: See TracChangeset for help on using the changeset viewer.