Changeset 426 in Sophya for trunk/Poubelle
- Timestamp:
- Sep 24, 1999, 9:15:56 AM (26 years ago)
- Location:
- trunk/Poubelle/archTOI.old
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Poubelle/archTOI.old/archeopsfile.cc
r419 r426 867 867 868 868 869 longArcheopsFile::getRawBolo(int ibolo, int imesure) { // donnee brute, avec seulement soustraction offset869 double ArcheopsFile::getRawBolo(int ibolo, int imesure) { // donnee brute, avec seulement soustraction offset 870 870 int nb_coups,aa; 871 871 block_type_bolo* blk = imesure >= 0 ? lastBolo() : llastBolo(); … … 883 883 //cout << s*(((val_DS(ibolo,imesure)-aa)<<1)/nb_coups) << "\n"; 884 884 885 return s*(((val_DS(ibolo,imesure)-aa)<<1)/ nb_coups);885 return s*(((val_DS(ibolo,imesure)-aa)<<1)/double(nb_coups)); 886 886 } 887 887 … … 1020 1020 } 1021 1021 1022 longArcheopsFile::getSSTSignalCN(int idiode, int imesure) {1022 double ArcheopsFile::getSSTSignalCN(int idiode, int imesure) { 1023 1023 return getSSTRawSignalCN(SSTHandler::getDiodPermut(idiode),imesure); 1024 1024 } 1025 1025 1026 longArcheopsFile::getSSTRawSignalCN(int ichannel, int imesure) {1026 double ArcheopsFile::getSSTRawSignalCN(int ichannel, int imesure) { 1027 1027 // Si pas bloc comprime -> 0 1028 1028 if (lastSSTComp() == NULL) return 0; -
trunk/Poubelle/archTOI.old/archeopsfile.h
r419 r426 130 130 int getBoloBlockNum(); 131 131 int getBoloCompBlockNum(); 132 longgetRawBolo(int ibolo, int imesure); // donnee brute, avec seulement soustraction offset132 double getRawBolo(int ibolo, int imesure); // donnee brute, avec seulement soustraction offset 133 133 double getRawBoloCN(int ibolo, int imesure); // bruit de compression, sur donnee brute 134 134 double getMuVBoloCN(int ibolo, int imesure); // bruit de compression, en microVolts … … 152 152 long getSSTRawSignal(int iDiode, int imesure); 153 153 long getSSTSignal(int iDiode, int imesure); 154 longgetSSTRawSignalCN(int iDiode, int imesure);155 longgetSSTSignalCN(int iDiode, int imesure);154 double getSSTRawSignalCN(int iDiode, int imesure); 155 double getSSTSignalCN(int iDiode, int imesure); 156 156 double getSSTStarZ(int iStar, int imesure); 157 157 double getSSTStarF(int iStar, int imesure); -
trunk/Poubelle/archTOI.old/archtoi.cc
r416 r426 133 133 cout << "processing" << endl; 134 134 while (iter.Next()) { 135 int nn = iter.getSampleIndex() ;135 int nn = iter.getSampleIndex() / iter.getUnderSampling(); // Only for tick mark... 136 136 #ifdef __MWERKS__ 137 137 yield(); -
trunk/Poubelle/archTOI.old/asigps.cc
r363 r426 13 13 double omjd=0; 14 14 while (f) { 15 char line[ 200];16 f.getline(line, 200);15 char line[500]; 16 f.getline(line,500); 17 17 if (!f) break; 18 18 char*p = line; -
trunk/Poubelle/archTOI.old/templocator.cc
r424 r426 85 85 double azCr1, azCr2; 86 86 int rc = PlGalCross(ts/3600., lat, (90. - 41.), alpG, delG, azCr1, azCr2); 87 if (rc != 0) return; // pas deux points d'intersection 87 88 89 // Il faut determiner le croisement principal, ie le plus proche 90 // du centre galactique. Pendant le vol de Trapani, c'etait celui 91 // le plus proche de 220° d'azimut. 92 93 double azCross = azCr1; 94 if (fabs(azCr2-220) < fabs(azCr1-220)) azCross = azCr2; 95 96 double rotSpeed = 360./(crossings[icross] - crossings[icross-1]); // °/sample 97 98 azimBolGC = azCross + (sampleNum - crossings[icross-1])*rotSpeed; 99 if (azimBolGC > 360) azimBolGC -= 360; 88 100 } 101 102 void TempLocator::getAltAzBolo(int sampleNum, int ibolo, double& elv, double& az) { 103 findGeomFromGC(sampleNum); 104 double delElv = 0; 105 double delAz = 0; // relative to ch3-bolo6 106 elv = -99999; 107 az = -99999; 108 switch (ibolo) { 109 case 11: 110 delElv = 0; 111 delAz = 0.78; 112 break; 113 case 8: 114 delElv = 0.78 * sqrt(3.)/2.; 115 delAz = 0.78 * 3./2.; 116 break; 117 case 13: 118 delElv = - 0.78 * sqrt(3.)/2.; 119 delAz = 0.78 * 3./2.; 120 break; 121 case 9: 122 delElv = 0.78 * sqrt(3.)/2.; 123 delAz = 0.78 * 1./2.; 124 break; 125 case 4: 126 delElv = 0.; 127 delAz = 0.78 * 2.; 128 break; 129 case 15: 130 delElv = 0.; 131 delAz = 0.; 132 break; 133 default: 134 return; 135 } 136 delAz /= cos(41 * M_PI/180); 137 elv = 41. + delElv; 138 az = azimBolGC + delAz; 139 return; 140 } 141 142 double TempLocator::getAzimutBolo(int sampleNum, int ibolo) { 143 double elv, az; 144 getAltAzBolo(sampleNum, ibolo, elv, az); 145 return az; 146 } 147 148 double TempLocator::getElvBolo(int sampleNum, int ibolo) { 149 double elv, az; 150 getAltAzBolo(sampleNum, ibolo, elv, az); 151 return elv; 152 } 153 154 double TempLocator::getAlphaBolo(int sampleNum, int ibolo) { 155 double elv, az; 156 getAltAzBolo(sampleNum, ibolo, elv, az); 157 double ha; 158 aa_hadec (lat * M_PI/180, elv * M_PI/180, az * M_PI/180, &ha, &dec); 159 ra = - (ha * 180. / M_PI / 15) + (ts/3600.); 160 dec = dec * 180. / M_PI; 161 return ra; 162 } 163 164 double TempLocator::getDeltaBolo(int sampleNum, int ibolo) { 165 double elv, az; 166 getAltAzBolo(sampleNum, ibolo, elv, az); 167 double ha; 168 aa_hadec (lat * M_PI/180, elv * M_PI/180, az * M_PI/180, &ha, &dec); 169 ra = - (ha * 180. / M_PI / 15) + (ts/3600.); 170 dec = dec * 180. / M_PI; 171 return dec; 172 } 173 89 174 90 175 -
trunk/Poubelle/archTOI.old/templocator.h
r423 r426 19 19 double getAlphaBolo(int sampleNum, int ibolo); 20 20 double getDeltaBolo(int sampleNum, int ibolo); 21 22 void getAltAzBolo(int sampleNum, int ibolo, double& elv, double& az); 21 23 22 24 protected: -
trunk/Poubelle/archTOI.old/toiiter.cc
r419 r426 52 52 53 53 initDone = false; 54 55 underSample = 1; 54 56 } 55 57 … … 87 89 88 90 initDone = x.initDone; 91 underSample = x.underSample; 89 92 } 90 93 … … 238 241 trigMask |= block_gps_mask; 239 242 break; 240 case azimut :243 case azimutBolo: 241 244 trigMask |= block_bolo_mask; 242 245 //file->needSSTProcessMask(SSTHandler::findPeriod); … … 353 356 } 354 357 355 356 358 bool TOIIter::Next() { 359 for (int ii=0; ii<underSample; ii++) 360 if (!Next1()) return false; 361 return true; 362 } 363 364 bool TOIIter::Next1() { 357 365 if (!initDone) Init(); 358 366 while (1) { … … 484 492 case tsid: 485 493 return file->hasGPSPos(); 486 case azimut :494 case azimutBolo: 487 495 case alphaAxis: 488 496 case deltaAxis: 497 case alphaBolo: 498 case deltaBolo: 489 499 return true; 490 500 //return (file->lastGPS() != NULL && file->lastSST() != NULL); 491 501 case alphaSst: 492 502 case deltaSst: 493 case alphaBolo:494 case deltaBolo:495 503 return false; 496 504 … … 589 597 tSid.setLongitude(file->getGPSLong()); 590 598 return tSid.getLST(getMJD()); 591 case azimut :599 case azimutBolo: 592 600 case alphaAxis: 593 case deltaAxis: { 601 case deltaAxis: 602 case alphaBolo: 603 case deltaBolo: { 594 604 double lat, lon; 595 605 if (auxGPS) { … … 606 616 if ((kind) == alphaAxis) return tempLocator.getAlphaZenith(); 607 617 if ((kind) == deltaAxis) return tempLocator.getDeltaZenith(); 618 if ((kind) == azimutBolo) return tempLocator.getAzimutBolo(getSampleIndex(),index); 619 if ((kind) == alphaBolo) return tempLocator.getAlphaBolo(getSampleIndex(),index); 620 if ((kind) == deltaBolo) return tempLocator.getDeltaBolo(getSampleIndex(),index); 608 621 return 0; 609 622 } … … 668 681 case altitude: 669 682 return file->blockNum() == file->getGPSBlockNum() && imes==0; 670 case azimut: 683 case azimutBolo: 684 case alphaBolo: 685 case deltaBolo: 671 686 return true; // $CHECK$ with SSTHandler 672 687 case alphaAxis: … … 726 741 } 727 742 743 int TOIIter::getUnderSampling() { 744 return underSample; 745 } 746 728 747 int TOIIter::getSampleIndex() { 729 748 if (!initDone) Init(); -
trunk/Poubelle/archTOI.old/toiiter.h
r419 r426 47 47 altitude, // position ballon, m 48 48 tsid, // temps sideral en secondes 49 azimut , // azimut centre optique ???49 azimutBolo, // azimut 50 50 alphaAxis, // 51 51 deltaAxis, // … … 79 79 int getBlockSampleIndex(); // numero d''echantillon dans dernier bloc bolo 80 80 int getSampleIndex(); // numero d''echantillon 81 int getUnderSampling(); 81 82 double getMJD(); 82 83 … … 103 104 void ScanFiles(); // Parcourt tous les fichiers, cherche le premier echantillon... 104 105 106 bool Next1(); 105 107 bool NextSample(); // no test of trange 106 108 bool NextFile(); … … 147 149 TSid tSid; 148 150 151 int underSample; 152 149 153 private: 150 154 bool initDone; -
trunk/Poubelle/archTOI.old/toisvr.cc
r420 r426 40 40 if (tEnd>0) iter.tEnd = tEnd; 41 41 } 42 43 void TOISvr::setUnderSample(int n) { 44 if (n<=1) n=1; 45 iter.underSample = n; 46 } 47 42 48 43 49 void TOISvr::addInfo(TOIKind kind, int index, bool triggering, bool interp) { … … 133 139 else tsttoi(altitude) 134 140 else tsttoi(tsid) 135 else tsttoi(azimut )141 else tsttoi(azimutBolo) 136 142 else tsttoi(alphaAxis) 137 143 else tsttoi(deltaAxis) … … 198 204 } else if (key == "#FILE") { 199 205 addFile(arg); 206 } else if (key == "#UNDERSAMPLE") { 207 setUnderSample(atoi(arg.c_str())); 200 208 } else if (key == "#RECORDER") { 201 209 onBoardRecorderFiles(true); … … 228 236 processRequest("#PERECH 0.005836818076"); 229 237 processRequest("#ASIGPS ASI_GPS_archeops1999.ascii"); 238 processRequest("#COMMENT Archtoi -- 23 september 1999 -- Eric Aubourg CEA/DAPNIA"); 230 239 processRequest("#COMMENT ***WARNING***"); 231 240 processRequest("#COMMENT ***SOME TOI'S ARE PRELIMINARY***"); 232 241 processRequest("#COMMENT gyroSpeed is not calibrated"); 233 processRequest("#COMMENT azimut/alpha/delta use galaxy crossings ");242 processRequest("#COMMENT azimut/alpha/delta use galaxy crossings and ASI GPS data"); 234 243 processRequest("#COMMENT and assume no pendulation"); 235 236 } 244 processRequest("#COMMENT boloTens2 is not protected against glitches"); 245 processRequest("#COMMENT sst software has not been updated to last DY code"); 246 processRequest("#COMMENT trajectory info only while italian TM got GPS info"); 247 processRequest("#COMMENT boloTemp is not implemented"); 248 249 } -
trunk/Poubelle/archTOI.old/toisvr.h
r417 r426 28 28 29 29 void setTimeInterval(double tStart, double tEnd); 30 void setUnderSample(int n); 30 31 31 32 void addInfo(TOIKind kind, int index, bool triggering=true, bool interp=false);
Note:
See TracChangeset
for help on using the changeset viewer.