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++){
46 taggerEnergies[0]=1441.06;
47 taggerEnergies[1]=1356.89;
48 taggerEnergies[2]=1257.31;
49 taggerEnergies[3]=1156.56;
50 taggerEnergies[4]=1057.70;
51 taggerEnergies[5]=956.16;
52 taggerEnergies[6]=857.98;
53 taggerEnergies[7]=756.58;
54 taggerEnergies[8]=657.34;
55 taggerEnergies[9]=556.97;
56 taggerEnergies[10]=456.26;
57 taggerEnergies[11]=355.88;
58 taggerEnergies[12]=256.41;
59 taggerEnergies[13]=158.31;
60 taggerEnergies[14]=0.0;
61 taggerEnergies[15]=187.99;
70 double ped, sigped, thr, mu, gmev, fr_mev, thr_mev;
73 printf(
"filename read in: %s\n", filename);
75 fin = fopen(filename,
"rt");
77 printf(
"No file \"%s\" found!\n", filename);
78 for(
int n=0;
n<60;
n++){
83 fgets(instr, 100, fin);
84 printf(
"filename read in: %s\n", instr);
85 fgets(instr, 100, fin);
86 printf(
"header read in: %s\n", instr);
87 for(
int i = 0;
i < 60;
i++){
88 fgets(instr, 100, fin);
89 if(strlen(instr)<2) fgets(instr, 100, fin);
91 sscanf(instr,
"%i%lf%lf%lf%lf%lf%lf%lf",
92 &ch, &ped, &sigped, &thr, &mu, &gmev, &fr_mev, &thr_mev);
93 printf(
"line %i: %s -> ch: %i, factor: %f, ped: %f\n",
94 i, instr, ch, gmev, ped);
100 printf(
"Wrong channel in %s detected!\n", filename);
140 printf(
"TaggerEnergies:\n");
155 printf(
"do datafile given, nothing to do\n");
175 in = fopen(datafilename,
"rb");
177 printf(
"can't read datafile %s !!!\n", datafilename);
215 for(
int n=0;
n<60;
n++){
219 for(
int n=0;
n<16;
n++){
228 for(
int n=0;
n<32;
n++){
231 for(
int n=32;
n<60;
n++){
234 for(
int n=0;
n<16;
n++){
237 for(
int n=16;
n<32;
n++){
240 for(
int n=32;
n<48;
n++){
243 for(
int n=48;
n<60;
n++){
246 for(
int n=0;
n<16;
n++){
259 static unsigned int dataword=0xffffffff;
260 static unsigned int events=0;
261 static unsigned int no_of_ev=0;
262 static char ververgl[100];
266 unsigned int dec_geo, dec_tow, dec_noch, dec_data, dec_ch;
278 no_of_ev=ftell(
in)/4;
283 fread(&ververgl[n], 1, 1,
in);
285 }
while(ververgl[n-1]!=0);
287 printf(
"The version of the readout was: %s (expected: %s)\n\n",
300 if(
what[board_no]<80){
302 if(0==fread((
char*) &dataword,
sizeof(dataword), 1,
in))
return(0);
303 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));
304 dec_tow=((dataword>>24) & 0x7);
313 dec_geo = (dataword>>27);
314 dec_noch = ((dataword>>8) & 0x3f);
318 for(n=0; n< (int) dec_noch; n++){
319 if(0==fread((
char*) &dataword,
sizeof(dataword), 1,
in))
return(0);
320 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));
321 dec_tow=((dataword>>24) & 0x7);
322 dec_data = (dataword & 0xfff);
323 if((
what[board_no]%10)==1){
324 dec_ch =((dataword>>16) & 0x3f);
326 else if((
what[board_no]%10)==0){
327 dec_ch =((dataword>>17) & 0x1f);
329 else printf(
"ERROR in WHAT!!!\n\n\n");
330 if(dec_tow==0 && (dec_geo==(dataword>>27))){
332 if(
what[board_no]==30 ||
what[board_no]==31)
333 if(((dataword>>14)&0x1)==0) dec_data=0;
334 rawdata[dec_ch][ board_no ] = dec_data;
341 if(0==fread((
char*) &dataword,
sizeof(dataword), 1,
in))
return(0);
342 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));
343 dec_tow=((dataword>>24) & 0x7);
344 if(dec_tow!=4)
printf(
"T");
350 else if(
what[board_no]==90){
352 if(0==fread((
char*) &dataword,
sizeof(dataword), 1,
in))
return(0);
353 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)
unsigned int noe_of_board[16]
unsigned int geo_to_bnr[32]
void GetEnergies(Double_t *energies)
Long_t GetNumberOfEvents()
unsigned int rawdata[32][16]
void GetTaggerEnergies(Double_t *taggerEnergies)
void GetTimes(Double_t *times)
unsigned int read_one_event()
void GetTaggerTimes(Double_t *taggertimes)
void read_energy_factor(const char *filename)
void GetADCValues(Double_t *ADCs)