int main(int argc, char *argv[]) { HLIMIT(PAWC_SIZE); if (argc != 3) { printf("usage: %s <module> <channel>\n", argv[0]); exit(EXIT_FAILURE); } int mod = atoi(argv[1]); int ch = atoi(argv[2]); PixieInterface pif("pixie.cfg"); pif.GetSlots(); pif.Init(); usleep(200); pif.Boot(PixieInterface::DownloadParameters | PixieInterface::ProgramFPGA | PixieInterface::SetDAC, true); TraceGrabber grabber; forChannel(pif, mod, ch, grabber); char traceFile[] = "trace.dat"; char fileOptions[] = "N"; HRPUT (0, traceFile, fileOptions); return EXIT_SUCCESS; }
main() { int hid=1,istat=0,icycle=0; int i,i1,j; int nvar; float r[3]; char chtag_in[3][6]={"X","Y","Z"}; char chtag_out[5][8],chtitl[80]; float rmin[5],rmax[5]; int record_size=1024; HLIMIT(PAWC_SIZE); HROPEN(1,"example","ntuple-example.hbook","N",record_size,istat); HBOOKN(hid," An Ntuple",3," ",5000,chtag_in); for (i=0;i<10000;i++){ for(i1=0;i1<3;i1++) for (j=0,r[i1]=0.;j<10;r[i1] += rand()/32768. -0.5 ,j++); HFN(hid,r); } nvar=5; HGIVEN(hid,chtitl,nvar,chtag_out,rmin,rmax); printf(" title obtained:%s\n variables %d\ntags:>%s< >%s< >%s<\n", chtitl,nvar,chtag_out[0],chtag_out[1],chtag_out[2]); printf(" rmin: %e %e %e\n",rmin[0],rmin[1],rmin[2]); printf(" rmax: %e %e %e\n",rmax[0],rmax[1],rmax[2]); HROUT(0,icycle," "); HREND("example"); KUCLOS(1," ",1); }
no hget(register no pred, register no fun) { register no last,i=HKEY(pred,fun); if(HFOUND()) return htable[i].val; HLIMIT(last); do { HASH_NEXT(); if(HFOUND()) return htable[i].val; } while(HNOTFULL() && HUSED()); return (no)NULL; }
no hdef(register no pred, register no fun, register no val, byte stamp) { register no i=HKEY(pred,fun),last; HLIMIT(last); while(HNOTFULL() && HUSED() && !(HFOUND())) HASH_NEXT(); if(!HUSED() || (HDELETED() && HFOUND()) ) { HPUT(i,pred,fun,val,stamp); return 1; } return 0; }
int main (int argc, char *argv[]) { switch (argc) { case 1: cerr <<"ShuttlePar-F-Please give input file name(s) as parameter(s) or + for whole directory"<<endl; return 1; default: break; } CAS_dir=getenv("CASDataDir"); Coo_db_dir=getenv("CooDbDir"); // convert(0,0,"037000"); int iostat,rsize=1024; HLIMIT(NWPAW); HROPEN(3,"output","cas","N",rsize,iostat); if(iostat){ cerr << "Error opening Histo file cas"<<endl; exit(1); } else cout <<"Histo file "<<"cas"<<" opened."<<endl; if(argv[1][0]=='+'){ sscanf(argv[1],"%d",&NAME); cout <<" Only files with name >= " <<NAME<<" will be scanned"<<endl; int i; cout <<"ShuttlePar-I-Scanning directory "<<CAS_dir<<endl; dirent ** namelist; int nptr=scandir(CAS_dir,&namelist,&_select,&_sort); if(nptr>0){ cout <<"ShuttlePar-I-Found "<<nptr <<" entries"<< endl; int i; //for(i=0;i<nptr;i++)cout<<namelist[i]->d_name<<endl; for(i=0;i<nptr;i++){ convert(i,nptr-i-1,namelist[i]->d_name); } } else{ cerr<<"ShuttlePar-F-NoCasFilefound in "<<CAS_dir<<endl; exit(1); } } else{ int i; cout <<"ShuttlePar-I-Found "<<argc-1 <<" entrie(s)"<< endl; for(i=1;i<argc;i++){ convert(i-1,argc-i-1,argv[i]); } } return 0; }
bp_long hindex(register no pred, register no fun, bp_long *index) { register no last,i=HKEY(pred,fun); if(HFOUND()) {*index=i; return FOUND;} if(!HUSED()) {*index=i; return FREE;} HLIMIT(last); do { HASH_NEXT(); if(HFOUND()) {*index=i; return FOUND;} } while(HNOTFULL() && HUSED()); if(!HNOTFULL()) {hfull("culprit->hindex"); return FULL;} else {*index=i; return FREE;} }
no hset(register no pred, register no fun, register no val) { register no i=HKEY(pred,fun),last; HLIMIT(last); while(HNOTFULL() && HUSED() && !(HFOUND())) HASH_NEXT(); if(HFOUND()) { htable[i].val=val; return 1; } warnmes("hdef/3 required before using hset/3"); #if 0 fprintf(STD_err,"%s/%ld+...->%s/%ld\n", NAME(pred),GETARITY(pred), NAME(val),GETARITY(val) ); #endif return 0; }