Changeset 607 in Sophya for trunk/SophyaLib
- Timestamp:
- Nov 20, 1999, 10:00:54 PM (26 years ago)
- Location:
- trunk/SophyaLib/SkyT
- Files:
-
- 1 deleted
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/SkyT/blackbody.cc
r601 r607 1 1 //-------------------------------------------------------------------------- 2 2 // File and Version Information: 3 // $Id: blackbody.cc,v 1. 1.1.1 1999-11-19 16:34:32ansari Exp $3 // $Id: blackbody.cc,v 1.2 1999-11-20 21:00:47 ansari Exp $ 4 4 // 5 5 // Description: -
trunk/SophyaLib/SkyT/blackbody.h
r601 r607 2 2 //-------------------------------------------------------------------------- 3 3 // File and Version Information: 4 // $Id: blackbody.h,v 1. 1.1.1 1999-11-19 16:34:32ansari Exp $4 // $Id: blackbody.h,v 1.2 1999-11-20 21:00:47 ansari Exp $ 5 5 // 6 6 // Description: -
trunk/SophyaLib/SkyT/convtools.cc
r601 r607 1 1 //-------------------------------------------------------------------------- 2 2 // File and Version Information: 3 // $Id: convtools.cc,v 1. 1.1.1 1999-11-19 16:34:32ansari Exp $3 // $Id: convtools.cc,v 1.2 1999-11-20 21:00:48 ansari Exp $ 4 4 // 5 5 // Description: -
trunk/SophyaLib/SkyT/convtools.h
r601 r607 2 2 //-------------------------------------------------------------------------- 3 3 // File and Version Information: 4 // $Id: convtools.h,v 1. 1.1.1 1999-11-19 16:34:32ansari Exp $4 // $Id: convtools.h,v 1.2 1999-11-20 21:00:48 ansari Exp $ 5 5 // 6 6 // Description: -
trunk/SophyaLib/SkyT/gaussfilt.cc
r601 r607 1 1 //-------------------------------------------------------------------------- 2 2 // File and Version Information: 3 // $Id: gaussfilt.cc,v 1. 1.1.1 1999-11-19 16:34:33ansari Exp $3 // $Id: gaussfilt.cc,v 1.2 1999-11-20 21:00:48 ansari Exp $ 4 4 // 5 5 // Description: -
trunk/SophyaLib/SkyT/gaussfilt.h
r601 r607 2 2 //-------------------------------------------------------------------------- 3 3 // File and Version Information: 4 // $Id: gaussfilt.h,v 1. 1.1.1 1999-11-19 16:34:33ansari Exp $4 // $Id: gaussfilt.h,v 1.2 1999-11-20 21:00:49 ansari Exp $ 5 5 // 6 6 // Description: -
trunk/SophyaLib/SkyT/nupower.cc
r601 r607 1 1 //-------------------------------------------------------------------------- 2 2 // File and Version Information: 3 // $Id: nupower.cc,v 1. 1.1.1 1999-11-19 16:34:32ansari Exp $3 // $Id: nupower.cc,v 1.2 1999-11-20 21:00:49 ansari Exp $ 4 4 // 5 5 // Description: -
trunk/SophyaLib/SkyT/nupower.h
r601 r607 2 2 //-------------------------------------------------------------------------- 3 3 // File and Version Information: 4 // $Id: nupower.h,v 1. 1.1.1 1999-11-19 16:34:32ansari Exp $4 // $Id: nupower.h,v 1.2 1999-11-20 21:00:49 ansari Exp $ 5 5 // 6 6 // Description: -
trunk/SophyaLib/SkyT/radspec.cc
r601 r607 1 1 //-------------------------------------------------------------------------- 2 2 // File and Version Information: 3 // $Id: radspec.cc,v 1. 1.1.1 1999-11-19 16:34:32ansari Exp $3 // $Id: radspec.cc,v 1.2 1999-11-20 21:00:50 ansari Exp $ 4 4 // 5 5 // Description: … … 106 106 _raypourfinteg = const_cast<RadSpectra *>(this); 107 107 TrpzInteg I(RadSpectra_fluxFunction , f1, f2); 108 _raypourfinteg = NULL; 109 return((double)I); 108 double val = (double)I; 109 _raypourfinteg = NULL; // On ne peut pas faire ca avant la destruction de I 110 return(val); 110 111 } 111 112 double … … 160 161 _raypourfinteg = const_cast<RadSpectra *>(this); 161 162 _filter = const_cast<SpectralResponse *>(&filter); 162 TrpzInteg I(RadSpectra_filteredFlux,f1,f2); 163 TrpzInteg I(RadSpectra_filteredFlux,f1,f2); 164 double val = (double)I; 163 165 _raypourfinteg = NULL; 164 166 _filter = NULL; 165 return( (double)I);167 return(val); 166 168 } 167 169 … … 210 212 _filter = const_cast<SpectralResponse *>(&filter); 211 213 TrpzInteg I(RadSpectra_logFilteredFlux,f1Log,f2Log); 214 double val = (double)I; 212 215 _raypourfinteg = NULL; 213 216 _filter = NULL; 214 return( (double)I* log(10.));217 return(val* log(10.)); 215 218 } 216 219 -
trunk/SophyaLib/SkyT/radspec.h
r601 r607 2 2 //-------------------------------------------------------------------------- 3 3 // File and Version Information: 4 // $Id: radspec.h,v 1. 1.1.1 1999-11-19 16:34:32ansari Exp $4 // $Id: radspec.h,v 1.2 1999-11-20 21:00:50 ansari Exp $ 5 5 // 6 6 // Description: -
trunk/SophyaLib/SkyT/radspecvector.cc
r601 r607 1 1 //-------------------------------------------------------------------------- 2 2 // File and Version Information: 3 // $Id: radspecvector.cc,v 1. 1.1.1 1999-11-19 16:34:32ansari Exp $3 // $Id: radspecvector.cc,v 1.2 1999-11-20 21:00:50 ansari Exp $ 4 4 // 5 5 // Description: -
trunk/SophyaLib/SkyT/radspecvector.h
r601 r607 44 44 virtual double flux(double nu) const; 45 45 46 // Acces to Nu and F(nu) vectors 47 inline Vector& getNuVec() { return _vecOfNu; } 48 inline Vector& getFNuVec() { return _vecOfFDeNu; } 49 46 50 virtual void Print(ostream& os) const; 47 51 -
trunk/SophyaLib/SkyT/skm.d
r601 r607 1 # MAPPATH PathForFITS files 2 @MAPPATH /exp/eros/Reza/CartesRT 1 3 # SKYMIX NbComponents M_Gorski 2 4 @SKYMIX 2 64 … … 5 7 6 8 # Sky components 7 # SCMFILEFITSfilename [Normalisation]8 @ SCMFILE1 comp1.fits9 @ SCMFILE2comp2.fits 0.259 # MAPFITSFILEi FITSfilename [Normalisation] 10 @MAPFITSFILE1 map_essai.fits 11 @MAPFITSFILE2 comp2.fits 0.25 10 12 11 # SCSPEC1 FITSfilename Fmin Fmax 12 @SCSPEC1 spec1.fits 13 @SCSPEC2 spec2.fits 13 # SPECTRAFITSFILEi FITSfilename Fmin Fmax 14 @SPECTRAFITSFILE1 spec1.fits 15 @SPECTRAFUNC2 3. 4. 5. 16 17 # Define the Debug level 18 @DEBUGLEVEL 5 -
trunk/SophyaLib/SkyT/skymixer.cc
r601 r607 32 32 PixelMap<double>& mapToAdd, RadSpectra& rs, double K=1.); 33 33 34 int CheckCards(DataCards & dc, string & msg); 35 char * BuildFITSFileName(string const & fname); 36 void RadSpec2Nt(RadSpectra & rs, POutPersist & so, string name); 37 void SpectralResponse2Nt(SpectralResponse& sr, POutPersist & so, string name); 38 39 // ----- Variable globale ------------ 40 static char mapPath[256]; // Path for input maps 41 static int hp_nside = 32; // HealPix NSide 42 static int nskycomp = 0; // Number of sky components 43 static int debuglev = 0; // debuglevel 44 34 45 // ------------------------------------------------------------------------- 35 46 // main program … … 37 48 int main(int narg, char * arg[]) 38 49 { 39 if ((narg < 2) || (strcmp(arg[1], "-h") == 0)) {40 cout << " skymixer / Error args \n Usage: skymixer parameterFile" << endl;50 if ((narg < 3) || ((narg > 1) && (strcmp(arg[1], "-h") == 0) )) { 51 cout << " Usage: skymixer parameterFile outputfitsname [outppfname]" << endl; 41 52 exit(0); 42 53 } … … 46 57 string msg; 47 58 int rc = 0; 48 59 POutPersist * so = NULL; 60 49 61 try { 50 62 string dcard = arg[1]; … … 52 64 DataCards dc(dcard); 53 65 54 // Cheking datacards 55 if ( (!dc.HasKey("SKYMIX")) || (!dc.HasKey("FILTER")) ) { 56 rc = 71; 57 msg = "Invalid parameters - NO @SKYMIX or @FILTER card "; 58 goto problem; 59 } 60 61 // Decoding number of component and pixelisation parameter 62 int mg = 32; 63 int ncomp = 0; 64 ncomp = dc.IParam("SKYMIX", 0, 0); 65 mg = dc.IParam("SKYMIX", 1, 32); 66 if (ncomp < 1) { 67 msg = "Invalid parameters - Check datacards @SKYMIX "; 68 rc = 72; 69 goto problem; 70 } 71 72 int kc; 73 string key; 74 char buff[256]; 75 bool pb = false; 76 for(kc=0; kc<ncomp; kc++) { 77 sprintf(buff, "SCMFILE%d", kc+1); 78 key = buff; 79 if (dc.NbParam(key) < 1) { 80 msg = "Missing or invalid card : " + key; 81 pb = true; break; 82 } 83 sprintf(buff, "SCSPEC%d", kc+1); 84 key = buff; 85 if (dc.NbParam(key) < 1) { 86 msg = "Missing or invalid card : " + key; 87 pb = true; break; 88 } 89 90 } 91 92 if (pb) { 93 rc = 72; 94 goto problem; 95 } 96 97 cout << " skymix/Info : NComp = " << ncomp << " M_SphereGorski= " << mg << endl; 98 99 SphereGorski<float> outgs(mg); 100 cout << " Creating Output Gorski Map NbPixels= " << outgs.NbPixels() << endl; 66 rc = CheckCards(dc, msg); 67 if (rc) goto Fin; 68 69 cout << " skymix/Info : NComp = " << nskycomp << " SphereGorski_NSide= " << hp_nside << endl; 70 cout << " ... MapPath = " << (string)mapPath << " DbgLev= " << debuglev << endl; 71 72 // We create an output persist file for writing debug objects 73 if (debuglev > 0) so = new POutPersist("skymixdbg.ppf"); 74 75 SphereGorski<float> outgs(hp_nside); 76 cout << " Output Gorski Map created - NbPixels= " << outgs.NbPixels() << endl; 101 77 outgs.SetPixels(0.); 102 78 … … 111 87 cout << filt << endl; 112 88 89 // FOR debug 90 if (debuglev > 0) SpectralResponse2Nt(filt, *so, "filter"); 91 113 92 PrtTim(" After FilterCreation "); 114 } 93 94 SphereGorski<float> * ings = NULL; // Our input map 95 FitsIoServer fios; // Our FITS IO Server 96 char * flnm, buff[64]; 97 string key; 98 99 // Loop over sky component 100 int sk; 101 for(sk = 0; sk<nskycomp; sk++) { 102 cout << " Processing sky component No " << sk+1 << endl; 103 if (ings) { delete ings; ings = NULL; } 104 ings = new SphereGorski<float>(hp_nside); 105 sprintf(buff, "MAPFITSFILE%d", sk+1); 106 key = buff; 107 flnm = BuildFITSFileName(dc.SParam(key, 0)); 108 cout << " Reading Input FITS map " << (string)flnm << endl; 109 fios.load(*ings, flnm, 1); 110 111 if (debuglev > 4) { // Writing tne input map to the outppf 112 FIO_SphereGorski<float> fiog(ings); 113 fiog.Write(*so, key); 114 } 115 } 116 } // End of try block 115 117 116 118 catch (PException exc) { 117 119 msg = exc.Msg(); 118 120 cerr << " !!!! skymixer - Catched exception - Msg= " << exc.Msg() << endl; 119 rc = 70;121 rc = 90; 120 122 } 121 123 122 124 123 problem: 125 Fin: 126 if (so) delete so; // Closing the debug ppf file 124 127 if (rc == 0) return(0); 125 128 cerr << " Error condition -> Rc= " << rc << endl; … … 128 131 } 129 132 133 /* Nouvelle-Fonction */ 134 int CheckCards(DataCards & dc, string & msg) 135 // Function to check datacards 136 { 137 mapPath[0] = '\0'; 138 hp_nside = 32; 139 nskycomp = 0; 140 debuglev = 0; 141 142 int rc = 0; 143 // Cheking datacards 144 if ( (!dc.HasKey("SKYMIX")) || (!dc.HasKey("FILTER")) ) { 145 rc = 71; 146 msg = "Invalid parameters - NO @SKYMIX or @FILTER card "; 147 return(rc); 148 } 149 150 // Decoding number of component and pixelisation parameter 151 int mg = 32; 152 int ncomp = 0; 153 ncomp = dc.IParam("SKYMIX", 0, 0); 154 mg = dc.IParam("SKYMIX", 1, 32); 155 if (ncomp < 1) { 156 msg = "Invalid parameters - Check datacards @SKYMIX "; 157 rc = 72; 158 return(rc); 159 } 160 161 // Checking input FITS file specifications 162 int kc; 163 string key, key2; 164 char buff[256]; 165 bool pb = false; 166 for(kc=0; kc<ncomp; kc++) { 167 sprintf(buff, "MAPFITSFILE%d", kc+1); 168 key = buff; 169 if (dc.NbParam(key) < 1) { 170 msg = "Missing or invalid card : " + key; 171 pb = true; break; 172 } 173 sprintf(buff, "SPECTRAFITSFILE%d", kc+1); 174 key = buff; 175 sprintf(buff, "SPECTRAFUNC%d", kc+1); 176 key2 = buff; 177 if ( (dc.NbParam(key) < 1) && (dc.NbParam(key2) < 2) ) { 178 msg = "Missing card or invalid parameters : " + key + " or " + key2; 179 pb = true; break; 180 } 181 182 } 183 184 if (pb) { 185 rc = 72; 186 return(72); 187 } 188 189 // Checking detection filter specification 190 key = "FILTER"; 191 if (dc.NbParam(key) < 3) { 192 msg = "Missing card or invalid parameters : " + key; 193 rc = 73; return(rc); 194 } 195 196 // Initialiazing parameters 197 rc = 0; 198 msg = "OK"; 199 nskycomp = ncomp; 200 hp_nside = mg; 201 202 // Checking for PATH definition card 203 key = "MAPPATH"; 204 if (dc.NbParam(key) < 3) strncpy(mapPath, dc.SParam(key, 0).c_str(), 255); 205 mapPath[255] = '\0'; 206 key = "DEBUGLEVEL"; 207 debuglev = dc.IParam(key, 0, 0); 208 return(rc); 209 } 210 211 static char buff_flnm[1024]; // Mal protege ! 212 /* Nouvelle-Fonction */ 213 char* BuildFITSFileName(string const & fname) 214 { 215 if (mapPath[0] != '\0') sprintf(buff_flnm, "%s/%s", mapPath, fname.c_str()); 216 else sprintf(buff_flnm, "%s", fname.c_str()); 217 return(buff_flnm); 218 } 219 220 /* Nouvelle-Fonction */ 130 221 // template <class T> 131 222 void addComponent(SpectralResponse& sr, PixelMap<float>& finalMap, … … 144 235 } 145 236 237 /* Nouvelle-Fonction */ 146 238 void addComponent(SpectralResponse& sr, PixelMap<double>& finalMap, 147 239 PixelMap<double>& mapToAdd, RadSpectra& rs, double K) … … 158 250 } 159 251 } 252 253 254 /* Nouvelle-Fonction */ 255 void RadSpec2Nt(RadSpectra & rs, POutPersist & so, string name) 256 { 257 char *ntn[2] = {"nu","fnu"}; 258 NTuple nt(2,ntn); // Creation NTuple (AVEC new ) 259 float xnt[2]; 260 double nu; 261 double numin = rs.minFreq(); 262 double numax = rs.maxFreq(); 263 int nmax = 500; 264 double dnu = (numax-numin)/nmax; 265 for(int k=0; k<nmax; k++) { 266 nu = numin+k*dnu; 267 xnt[0] = nu; 268 xnt[1] = rs.flux(nu); 269 nt.Fill(xnt); 270 } 271 ObjFileIO<NTuple> oiont(nt); 272 oiont.Write(so, name); 273 return; 274 } 275 276 /* Nouvelle-Fonction */ 277 void SpectralResponse2Nt(SpectralResponse& sr, POutPersist & so, string name) 278 { 279 char *ntn[2] = {"nu","tnu"}; 280 NTuple nt(2,ntn); // Creation NTuple (AVEC new ) 281 float xnt[2]; 282 double nu; 283 double numin = sr.minFreq(); 284 double numax = sr.maxFreq(); 285 int nmax = 500; 286 double dnu = (numax-numin)/nmax; 287 for(int k=0; k<nmax; k++) { 288 nu = numin+k*dnu; 289 xnt[0] = nu; 290 xnt[1] = sr.transmission(nu); 291 nt.Fill(xnt); 292 } 293 ObjFileIO<NTuple> oiont(nt); 294 oiont.Write(so, name); 295 return; 296 } 297 -
trunk/SophyaLib/SkyT/specresp.cc
r601 r607 1 1 //-------------------------------------------------------------------------- 2 2 // File and Version Information: 3 // $Id: specresp.cc,v 1. 1.1.1 1999-11-19 16:34:32 ansari Exp $3 // $Id: specresp.cc,v 1.2 1999-11-20 21:00:52 ansari Exp $ 4 4 // 5 5 // Description: … … 112 112 if(numax >= _numax) numax = _numax; 113 113 TrpzInteg I(SpectralResponse_transmission , numin, numax); 114 return((double)I);114 double val = (double)I; 115 115 _mySpecResp= NULL; 116 return(val); 116 117 } 117 118 … … 137 138 _myLogSpecResp = const_cast<SpectralResponse *>(this); 138 139 TrpzInteg I(SpectralResponse_logTransmission ,f1Log,f2Log); 139 return((double)I*log(10.));140 double val = (double)I; 140 141 _myLogSpecResp= NULL; 142 return(val*log(10.)); 141 143 } 142 144 -
trunk/SophyaLib/SkyT/specresp.h
r601 r607 2 2 //-------------------------------------------------------------------------- 3 3 // File and Version Information: 4 // $Id: specresp.h,v 1. 1.1.1 1999-11-19 16:34:32 ansari Exp $4 // $Id: specresp.h,v 1.2 1999-11-20 21:00:52 ansari Exp $ 5 5 // 6 6 // Description: -
trunk/SophyaLib/SkyT/specrespvector.cc
r601 r607 1 1 //-------------------------------------------------------------------------- 2 2 // File and Version Information: 3 // $Id: specrespvector.cc,v 1. 1.1.1 1999-11-19 16:34:32ansari Exp $3 // $Id: specrespvector.cc,v 1.2 1999-11-20 21:00:53 ansari Exp $ 4 4 // 5 5 // Description: -
trunk/SophyaLib/SkyT/specrespvector.h
r601 r607 2 2 //-------------------------------------------------------------------------- 3 3 // File and Version Information: 4 // $Id: specrespvector.h,v 1. 1.1.1 1999-11-19 16:34:32ansari Exp $4 // $Id: specrespvector.h,v 1.2 1999-11-20 21:00:53 ansari Exp $ 5 5 // 6 6 // Description: … … 46 46 virtual double transmission(double nu) const; 47 47 48 // Acces to Nu and T(nu) vectors 49 inline Vector& getNuVec() { return _vecOfNu; } 50 inline Vector& getTNuVec() { return _vecOfFDeNu; } 51 48 52 virtual void Print(ostream& os) const; 49 53 -
trunk/SophyaLib/SkyT/squarefilt.cc
r601 r607 1 1 //-------------------------------------------------------------------------- 2 2 // File and Version Information: 3 // $Id: squarefilt.cc,v 1. 1.1.1 1999-11-19 16:34:33 ansari Exp $3 // $Id: squarefilt.cc,v 1.2 1999-11-20 21:00:53 ansari Exp $ 4 4 // 5 5 // Description: -
trunk/SophyaLib/SkyT/squarefilt.h
r601 r607 2 2 //-------------------------------------------------------------------------- 3 3 // File and Version Information: 4 // $Id: squarefilt.h,v 1. 1.1.1 1999-11-19 16:34:33ansari Exp $4 // $Id: squarefilt.h,v 1.2 1999-11-20 21:00:54 ansari Exp $ 5 5 // 6 6 // Description: -
trunk/SophyaLib/SkyT/trianglefilt.cc
r601 r607 1 1 //-------------------------------------------------------------------------- 2 2 // File and Version Information: 3 // $Id: trianglefilt.cc,v 1. 1.1.1 1999-11-19 16:34:33ansari Exp $3 // $Id: trianglefilt.cc,v 1.2 1999-11-20 21:00:54 ansari Exp $ 4 4 // 5 5 // Description: -
trunk/SophyaLib/SkyT/trianglefilt.h
r601 r607 2 2 //-------------------------------------------------------------------------- 3 3 // File and Version Information: 4 // $Id: trianglefilt.h,v 1. 1.1.1 1999-11-19 16:34:33ansari Exp $4 // $Id: trianglefilt.h,v 1.2 1999-11-20 21:00:54 ansari Exp $ 5 5 // 6 6 // Description:
Note:
See TracChangeset
for help on using the changeset viewer.