// Test des classes FitsBoloRead /* set DIR = $PLANCK/Kiruna_2001_01_29/TOI/Full_sampling ln -sf $DIR/PointingABv8/gLatLonAB_143k05_104000000_108465000.fits pointing.fits ln -sf $DIR/Bolo_etc/b143k05_104000000_108465000.fits bolo.fits cmvboloread -L 1000,1 -m 100000 \ -a gLonBolo_27 -d gLatBolo_27 -b boloMuV_27 -s sampleNum \ -A pointing.fits -1 0 -B bolo.fits -3 0 */ #include "sopnamsp.h" #include "machdefs.h" #include #include #include #include // #include #include #include #include #include "sophyainit.h" #include "pexceptions.h" #include "fboloread.h" #include "fabtwriter.h" //#define NO_VECTOR #define USE_EXCEPT int main(int narg,char *arg[]) { SophyaInit(); const char *label_alpha = "", *label_delta = "", *label_bolo = "", *label_flag = "", *label_snum = ""; const char *fits_alpha = "", *fits_delta = "", *fits_bolo = "", *fits_flag = "", *fits_snum = ""; int hdu_alpha=0, hdu_delta=0, hdu_bolo=0, hdu_flag=0, hdu_snum=0; long blen = 100, bsens = 1, lpmod=1; char c; while((c = getopt(narg,arg,"ha:d:s:b:f:A:D:S:B:F:1:2:3:4:5:L:m:")) != -1) { switch (c) { case 'a' : label_alpha = optarg; break; case 'd' : label_delta = optarg; break; case 'b' : label_bolo = optarg; break; case 'f' : label_flag = optarg; break; case 's' : label_snum = optarg; break; case 'A' : fits_alpha = optarg; break; case 'D' : fits_delta = optarg; break; case 'B' : fits_bolo = optarg; break; case 'F' : fits_flag = optarg; break; case 'S' : fits_snum = optarg; break; case '1' : sscanf(optarg,"%d",&hdu_alpha); break; case '2' : sscanf(optarg,"%d",&hdu_delta); break; case '3' : sscanf(optarg,"%d",&hdu_bolo); break; case '4' : sscanf(optarg,"%d",&hdu_flag); break; case '5' : sscanf(optarg,"%d",&hdu_snum); break; case 'L' : sscanf(optarg,"%ld,%ld",&blen,&bsens); break; case 'm' : sscanf(optarg,"%ld",&lpmod); if(lpmod<=0) lpmod = 1; break; case 'h' : default : cout<<"cmvcolread -L buflen,sens -m print_modulo" <<"\n -a label_alpha -d label_delta" <<"\n -b label_bolo -f label_flag" <<"\n -s label_snum" <<"\n -A fits_alpha -D fits_delta" <<"\n -B fits_bolo -F fits_flag" <<"\n -S fits_snum" <<"\n -1 hdu_alpha -2 hdu_delta" <<"\n -3 hdu_bolo -4 hdu_flag" <<"\n -5 hdu_snum" <=0) if(fbr.IsCol(col1)) c1 = fbr.GetCol(col1,i); if(i%lpmod==0) cout< s,a,d,b,f,c1; TVector si4,fi4; for(long i=0; i=fbr.GetNbLine()) i2=fbr.GetNbLine()-1; if(fbr.IsSNum()) {fbr.GetSNum(i,i2,s); fbr.GetSNum(i,i2,si4);} if(fbr.IsBolo()) fbr.GetBolo(i,i2,b); if(fbr.IsFlag()) {fbr.GetFlag(i,i2,f); fbr.GetFlag(i,i2,fi4);} if(fbr.IsAlpha()) fbr.GetAlpha(i,i2,a); if(fbr.IsDelta()) fbr.GetDelta(i,i2,d); if(col1>=0) if(fbr.IsCol(col1)) fbr.GetCol(col1,i,i2,c1); for(int j=0; j<2; j++) { int ii = 0; if(j==1) ii=i2-i; cout<