- Timestamp:
- May 18, 2010, 12:49:05 PM (16 years ago)
- Location:
- branches/pap
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
psModules/src/objects/pmSourceExtendedPars.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/pap
- Property svn:mergeinfo changed
-
branches/pap/psModules/src/objects/pmSourceExtendedPars.c
r25754 r28003 36 36 #include "pmSourceExtendedPars.h" 37 37 38 // *** pmSourceRadialProfile describes the radial profile of a source in elliptical contours, and 39 // intermediate data used to measure the profile 38 // pmSourceRadialFlux carries the raw radial flux information, including angular bins 39 static void pmSourceRadialFluxFree(pmSourceRadialFlux *flux) 40 { 41 if (!flux) return; 42 psFree(flux->radii); 43 psFree(flux->fluxes); 44 psFree(flux->theta); 45 psFree(flux->isophotalRadii); 46 } 47 48 pmSourceRadialFlux *pmSourceRadialFluxAlloc() 49 { 50 pmSourceRadialFlux *flux = (pmSourceRadialFlux *)psAlloc(sizeof(pmSourceRadialFlux)); 51 psMemSetDeallocator(flux, (psFreeFunc) pmSourceRadialFluxFree); 52 53 flux->radii = NULL; 54 flux->fluxes = NULL; 55 flux->theta = NULL; 56 flux->isophotalRadii = NULL; 57 58 return flux; 59 } 60 61 bool psMemCheckSourceRadialFlux(psPtr ptr) 62 { 63 PS_ASSERT_PTR(ptr, false); 64 return ( psMemGetDeallocator(ptr) == (psFreeFunc) pmSourceRadialFluxFree); 65 } 66 67 // pmSourceEllipticalFlux carries the elliptical renormalized radial flux info 68 static void pmSourceEllipticalFluxFree(pmSourceEllipticalFlux *flux) 69 { 70 if (!flux) return; 71 psFree(flux->radiusElliptical); 72 psFree(flux->fluxElliptical); 73 } 74 75 pmSourceEllipticalFlux *pmSourceEllipticalFluxAlloc() 76 { 77 pmSourceEllipticalFlux *flux = (pmSourceEllipticalFlux *)psAlloc(sizeof(pmSourceEllipticalFlux)); 78 psMemSetDeallocator(flux, (psFreeFunc) pmSourceEllipticalFluxFree); 79 80 flux->radiusElliptical = NULL; 81 flux->fluxElliptical = NULL; 82 83 return flux; 84 } 85 86 bool psMemCheckSourceEllipticalFlux(psPtr ptr) 87 { 88 PS_ASSERT_PTR(ptr, false); 89 return ( psMemGetDeallocator(ptr) == (psFreeFunc) pmSourceEllipticalFluxFree); 90 } 91 92 // pmSourceRadialProfile defines flux information in radial bins 40 93 static void pmSourceRadialProfileFree(pmSourceRadialProfile *profile) 41 94 { 42 if (!profile) { 43 return; 44 } 45 psFree(profile->radii); 46 psFree(profile->fluxes); 47 psFree(profile->theta); 48 psFree(profile->isophotalRadii); 49 50 psFree(profile->radiusElliptical); 51 psFree(profile->fluxElliptical); 52 95 if (!profile) return; 53 96 psFree(profile->binSB); 54 97 psFree(profile->binSBstdev); 55 98 psFree(profile->binSBerror); 56 99 psFree(profile->binSum); 100 psFree(profile->binFill); 57 101 psFree(profile->radialBins); 58 102 psFree(profile->area); … … 63 107 pmSourceRadialProfile *profile = (pmSourceRadialProfile *)psAlloc(sizeof(pmSourceRadialProfile)); 64 108 psMemSetDeallocator(profile, (psFreeFunc) pmSourceRadialProfileFree); 65 66 profile->radii = NULL;67 profile->fluxes = NULL;68 profile->theta = NULL;69 profile->isophotalRadii = NULL;70 71 profile->radiusElliptical = NULL;72 profile->fluxElliptical = NULL;73 109 74 110 profile->binSB = NULL; 75 111 profile->binSBstdev = NULL; 76 112 profile->binSBerror = NULL; 77 113 profile->binSum = NULL; 114 profile->binFill = NULL; 78 115 profile->radialBins = NULL; 79 116 profile->area = NULL; 80 81 117 return profile; 82 118 } … … 88 124 } 89 125 90 91 // ***pmSourceRadialProfileFreeVectors frees the intermediate data values126 # if (0) 127 // pmSourceRadialProfileFreeVectors frees the intermediate data values 92 128 bool pmSourceRadialProfileFreeVectors(pmSourceRadialProfile *profile) { 93 129 … … 124 160 return true; 125 161 } 162 # endif 126 163 127 164 // *** pmSourceRadialProfileSortPair is a utility function for sorting a pair of vectors … … 150 187 if (!pars) return; 151 188 152 psFree(pars->profile); 153 psFree(pars->petrosian_50); 154 psFree(pars->petrosian_80); 189 psFree(pars->radFlux); 190 psFree(pars->ellipticalFlux); 191 psFree(pars->radProfile); 192 psFree(pars->petProfile); 155 193 return; 156 194 } … … 160 198 psMemSetDeallocator(pars, (psFreeFunc) pmSourceExtendedParsFree); 161 199 162 pars->profile = NULL; 163 pars->petrosian_50 = NULL; 164 pars->petrosian_80 = NULL; 165 200 pars->radFlux = NULL; 201 pars->ellipticalFlux = NULL; 202 pars->radProfile = NULL; 203 pars->petProfile = NULL; 204 205 pars->petrosianFlux = NAN; 206 pars->petrosianFluxErr = NAN; 207 pars->petrosianRadius = NAN; 208 pars->petrosianRadiusErr = NAN; 209 pars->petrosianR90 = NAN; 210 pars->petrosianR90Err = NAN; 211 pars->petrosianR50 = NAN; 212 pars->petrosianR50Err = NAN; 166 213 return pars; 167 214 }
Note:
See TracChangeset
for help on using the changeset viewer.
