Changeset 3671 in Sophya for trunk/AddOn/TAcq/racqurw.cc
- Timestamp:
- Nov 13, 2009, 11:54:04 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AddOn/TAcq/racqurw.cc
r3658 r3671 464 464 465 465 /* --Methode-- */ 466 PCIEMultiReader::PCIEMultiReader(vector<PCIEWrapperInterface*> vec_pciw,uint_4 sizeFrame,uint_4 packSize ,RAcqMemZoneMgr& mem, uint_4 nmax, BRDataFmtConv swapall ,int binMin, int nbBin)466 PCIEMultiReader::PCIEMultiReader(vector<PCIEWrapperInterface*> vec_pciw,uint_4 sizeFrame,uint_4 packSize ,RAcqMemZoneMgr& mem, uint_4 nmax, BRDataFmtConv swapall) 467 467 : memgr(mem) , vec_pciw_ (vec_pciw) 468 468 { … … 473 473 packSizeInMgr_=memgr.PaqSize(); 474 474 sizeFr_ =sizeFrame; 475 binMin_= binMin;476 nbBin_= nbBin;477 475 if (vec_pciw.size() != memgr.NbFibres()) { 478 476 cout << " PCIEMultiReader()PbArgs: vec_pciw.size()= " << vec_pciw.size() << " memgr.NbFibres()=" <<memgr.NbFibres()<< endl; … … 572 570 setRC(9); fgarret=true; break; 573 571 } 574 BRPaquet paq(tampon[fib], nextpaq, paqsz, swapall_,binMin_,nbBin_); 572 BRPaquet paq(tampon[fib], nextpaq, paqsz, swapall_); 573 // CHECK S'il faut faire une reduction de taille de paquet 575 574 npaqfait[fib]++; 576 575 if (fib==nbDma_-1) npaqfaitg++; // Ne pas oublier le compteur de paquets faits … … 601 600 setRC(9); fgarret=true; break; 602 601 } 603 BRPaquet paq(Datas[fib]+curoff, nextpaq, paqsz, swapall_,binMin_,nbBin_); 602 BRPaquet paq(Datas[fib]+curoff, nextpaq, paqsz, swapall_); 603 // CHECK S'il faut faire une reduction de taille de paquet 604 604 npaqfait[fib]++; 605 605 if (fib==nbDma_-1) npaqfaitg++; // Ne pas oublier le compteur de paquets faits … … 688 688 //-------------------------------------------------------------------- 689 689 690 MultiDataSaver::MultiDataSaver(RAcqMemZoneMgr& mem, string &path, uint_4 nfiles, uint_4 nblocperfile, bool savesig)691 : memgr(mem) 690 MultiDataSaver::MultiDataSaver(RAcqMemZoneMgr& mem, string path, uint_4 nfiles, uint_4 nblocperfile, bool savesig) 691 : memgr(mem) 692 692 { 693 693 nfiles_ = nfiles; … … 708 708 setRC(1); 709 709 BRPaqChecker pcheck[MAXNBFIB]; // Verification/comptage des paquets 710 710 BRAcqConfig bpar; 711 711 try { 712 712 TimeStamp ts; … … 732 732 fgnulldev = true; 733 733 } 734 BRPaquet paq0(NULL, NULL, paqsz); 734 735 for (uint_4 nbFile=0;nbFile<nfiles_ ;nbFile++) { 735 736 if (stop_ ) break; … … 742 743 header[fib].open(fname); 743 744 } 744 BRPaquet paq0(NULL, NULL, paqsz);745 745 746 uint_4 npaqperfile = memgr.NbPaquets()*nblocperfile_; // Nombre de paquets ecrits dans un fichier 746 747 747 748 if (savesig_) { //Reza - Ouverture conditionnel fichier 748 for(uint_4 fib=0; fib<memgr.NbFibres(); fib++) {749 for(uint_4 fib=0; fib<memgr.NbFibres(); fib++) { 749 750 if (fgnulldev) strcpy(fname,"/dev/null"); 750 751 else sprintf(fname,"%s/Fibre%d/signal%d.fits",path_.c_str(),fib+1,(int)fnum); 751 752 mff[fib].Open(fname,MF_Write); //Reza - Ouverture conditionnel fichier 752 753 // Entete correspondant a l'ecriture tout le paquet - trailer compris (modif Mai 2009) 753 mff[fib].setDTypeNaxis(MF_Byte, paq0.PaquetSize(), npaqperfile); 754 } 754 mff[fib].setDTypeNaxis(MF_Byte, paq0.PaquetSize(), npaqperfile); 755 // Sans TRAILER de paquet mff.setDTypeNaxis(MF_Byte, paq0.DataSize()+paq0.HeaderSize(), npaqperfile); 756 } 757 // Ajout mots-cle additionnels a tous les fichiers FITS 758 AddFitsKW(mff,bpar); 755 759 fnum++; 756 // Sans TRAILER de paquet mff.setDTypeNaxis(MF_Byte, paq0.DataSize()+paq0.HeaderSize(), npaqperfile);757 760 } 758 761 else sprintf(fname,"MemDataBloc[%d]-NoDataFile",(int)fnum++); … … 765 768 if (buffg == NULL) { 766 769 cout << " MultiDataSaver::run()/ERROR memgr.GetMemZone(" << mid << ") -> NULL" << endl; 767 setRC(2 );770 setRC(21); 768 771 return; 769 772 } … … 772 775 if (buff == NULL) { // Ceci ne devrait pas arriver - suite au test buffg ci-dessus 773 776 cout << " MultiDataSaver::run()/ERROR memgr.GetMemZone(" << mid << "," << fib << ") -> NULL" << endl; 774 setRC(2 );777 setRC(22); 775 778 return; 776 779 } … … 797 800 } 798 801 else sprintf(fname,"MemDataBloc[%d]-NoDataFile",(int)fnum-1); 799 filog << " Fib " << fib << " -> " << fname << endl; 800 cout << " Fib " << fib << " -> " << fname << endl; 802 string pcsum = pcheck[fib].Summary(); 803 filog << " Fib " << fib << " -> " << fname << " Stat:" << pcsum << endl; 804 cout << " Fib " << fib << " -> " << fname << " Stat:" << pcsum << endl; 801 805 } 802 806 if (savesig_) … … 805 809 mff[fib].Close(); 806 810 } 811 812 807 813 } // Fin de boucle sur les fichiers 808 814 cout << " -------------------- MultiDataSaver::run() -------------------- " << endl; … … 832 838 } 833 839 840 841 /* --Methode-- */ 842 int MultiDataSaver::AddFitsKW(MiniFITSFile* mff, BRAcqConfig& acpar) 843 { 844 TimeStamp ts; 845 string cdtu=ts.ToString(); 846 for(uint_4 fib=0; fib<memgr.NbFibres(); fib++) { 847 mff[fib].AddKeyS("DATE", cdtu.c_str(), " File Creation time(YYYY-MM-DDThh:mm:ss UT) "); 848 mff[fib].AddKeyS("DATEOBS", cdtu.c_str(), " Observation Time (YYYY-MM-DDThh:mm:ss UT) "); 849 mff[fib].AddKeyD("ACQVER", acpar.AcqVersion(), " BAORadio Acq Software version ") ; 850 mff[fib].AddKeyS("ACQCONF", acpar.GetParams().AcqMode, " BAORadio Acq run mode" ); 851 } 852 return 0; 853 } 854
Note:
See TracChangeset
for help on using the changeset viewer.