23 for(
int n=0;
n<60;
n++){
29 for(
int n=0;
n<60;
n++){
35 for(
int n=0;
n<60;
n++){
40 for(
int n = 0;
n<16;
n++){
66 taggerEnergies[0]=685.58;
67 taggerEnergies[1]=650.81;
68 taggerEnergies[2]=601.77;
69 taggerEnergies[3]=579.10;
70 taggerEnergies[4]=509.88;
71 taggerEnergies[5]=443.77;
72 taggerEnergies[6]=387.38;
73 taggerEnergies[7]=339.67;
74 taggerEnergies[8]=269.95;
75 taggerEnergies[9]=200.33;
76 taggerEnergies[10]=152.72;
77 taggerEnergies[11]=107.98;
78 taggerEnergies[12]=93.97;
79 taggerEnergies[13]=84.67;
80 taggerEnergies[14]=61.54;
81 taggerEnergies[15]=52.34;
90 double ped, sigped, thr, mu, gmev, fr_mev, thr_mev;
93 printf(
"filename read in: %s\n", filename);
95 fin = fopen(filename,
"rt");
97 printf(
"No file \"%s\" found!\n", filename);
98 for(
int n=0;
n<60;
n++){
103 fgets(instr, 100, fin);
104 printf(
"filename read in: %s\n", instr);
105 fgets(instr, 100, fin);
106 printf(
"header read in: %s\n", instr);
107 for(
int i = 0;
i < 60;
i++){
108 fgets(instr, 100, fin);
109 if(strlen(instr)<2) fgets(instr, 100, fin);
111 sscanf(instr,
"%i%lf%lf%lf%lf%lf%lf%lf",
112 &ch, &ped, &sigped, &thr, &mu, &gmev, &fr_mev, &thr_mev);
113 printf(
"line %i: %s -> ch: %i, factor: %f, ped: %f\n",
114 i, instr, ch, gmev, ped);
120 printf(
"Wrong channel in %s detected!\n", filename);
160 printf(
"TaggerEnergies:\n");
175 printf(
"do datafile given, nothing to do\n");
191 in = fopen(datafilename,
"rb");
193 printf(
"can't read datafile %s !!!\n", datafilename);
231 for(
int n=0;
n<60;
n++){
235 for(
int n=0;
n<16;
n++){
244 for(
int n=0;
n<32;
n++){
247 for(
int n=32;
n<60;
n++){
250 for(
int n=0;
n<16;
n++){
253 for(
int n=16;
n<32;
n++){
256 for(
int n=32;
n<48;
n++){
259 for(
int n=48;
n<60;
n++){
262 for(
int n=0;
n<16;
n++){
266 for(
int n=0;
n<8;
n++){
283 static unsigned int dataword=0xffffffff;
284 static unsigned int events=0;
285 static unsigned int no_of_ev=0;
286 static char ververgl[100];
290 unsigned int dec_geo, dec_tow, dec_noch, dec_data, dec_ch;
302 no_of_ev=ftell(
in)/4;
307 fread(&ververgl[n], 1, 1,
in);
309 }
while(ververgl[n-1]!=0);
311 printf(
"The version of the readout was: %s (expected: %s)\n\n",
319 printf(
"The readout was started: %s\n",
327 printf(
"The readout was stopped: %s\n\n",
343 if(
what[board_no]<80){
345 if(0==fread((
char*) &dataword,
sizeof(dataword), 1,
in))
return(0);
346 events++;
if(events%wie_oft==0)
printf(
"%i of %i read in (%3.0f%%)\n", events, no_of_ev, ((
double) events)*100/ ((
double)no_of_ev));
347 dec_tow=((dataword>>24) & 0x7);
356 dec_geo = (dataword>>27);
357 dec_noch = ((dataword>>8) & 0x3f);
361 for(n=0; n< (int) dec_noch; n++){
362 if(0==fread((
char*) &dataword,
sizeof(dataword), 1,
in))
return(0);
363 events++;
if(events%wie_oft==0)
printf(
"%i von %i read in (%3.0f%%)\n", events, no_of_ev, ((
double) events)*100/ ((
double)no_of_ev));
364 dec_tow=((dataword>>24) & 0x7);
365 dec_data = (dataword & 0xfff);
366 if((
what[board_no]%10)==1){
367 dec_ch =((dataword>>16) & 0x3f);
369 else if((
what[board_no]%10)==0){
370 dec_ch =((dataword>>17) & 0x1f);
372 else printf(
"ERROR in WHAT!!!\n\n\n");
373 if(dec_tow==0 && (dec_geo==(dataword>>27))){
375 if(
what[board_no]==30 ||
what[board_no]==31)
376 if(((dataword>>14)&0x1)==0) dec_data=0;
377 rawdata[dec_ch][ board_no ] = dec_data;
384 if(0==fread((
char*) &dataword,
sizeof(dataword), 1,
in))
return(0);
385 events++;
if(events%wie_oft==0)
printf(
"%i of %i read in (%3.0f%%)\n", events, no_of_ev, ((
double) events)*100/ ((
double)no_of_ev));
386 dec_tow=((dataword>>24) & 0x7);
387 if(dec_tow!=4)
printf(
"T");
393 else if(
what[board_no]==90){
395 if(0==fread((
char*) &dataword,
sizeof(dataword), 1,
in))
return(0);
396 events++;
if(events%wie_oft==0)
printf(
"%i of %i read in (%3.0f%%)\n", events, no_of_ev, ((
double) events)*100/ ((
double)no_of_ev));
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
void GetADCValues(Double_t *ADCs)
unsigned int geo_to_bnr[44]
void GetTaggerEnergies(Double_t *taggerEnergies)
unsigned int noe_of_board[16]
void GetEnergies(Double_t *energies)
unsigned int read_one_event()
void GetTaggerTimes(Double_t *taggertimes)
void read_energy_factor(const char *filename)
Long_t GetNumberOfEvents()
void GetTimes(Double_t *times)
unsigned int rawdata[32][16]