//root [1] .x read.C("../../guest/datoteka.dat")
 
 
 
const int BSIZE=10000;
 
unsigned int gBuf[BSIZE];
 
const int MAXCH=32;
 
TH1F* gHisto[MAXCH];
 
 
 
int read(char *fname="datoteka.dat", int fDebug=1){
 
FILE 
*fp
= fopen(fname
,"r"); 
if (!fp) {
 
  printf("Error! File %s not found\n", fname
);  
  return 0;
 
}
 
 
 
 
 
for (int i=0;i<MAXCH;i++){
 
    char hname[50];
 
    sprintf(hname
,"TDC Ch. %d;TDC;N",i
);  
    char hn[50];
 
    gHisto[i]   = new TH1F(hn,hname,128,-0.5,1024*8-0.5);
 
} 
 
 
 
int hdr[4];
 
int n=0;
 
  fread(hdr
,sizeof(int),4,fp
);  
  if (hdr[0]!=1) {
 
    return -1;
 
  }
 
  int nb = hdr[1]-4*sizeof(int);
 
  fread(gBuf
,sizeof(int),nb
,fp
);  
  unsigned int *data= gBuf;
 
    int evsize=0;
 
    int events=0;  
 
    int ib=1,count=0;
 
    events = data[0];
 
    evsize = data[1]&0xffff;
 
    if (evsize<2){
 
      continue;
 
    }
 
    n=hdr[3];
 
    const unsigned int  END_MARKER=0xFAF5;
 
    if (fDebug
) printf("nb=%d Event:%d events=%d EvSize:%d\n",nb
,n
,  events
, evsize
);  
    for (int i=0;i<evsize;i++)  {
 
       //if (fDebug) printf("%d\t%08x\n", ib, data[ib]);
 
      
 
       if (data[ib]== END_MARKER) break; 
 
       if (ib%2==0) {
 
          unsigned short word1 =data[ib  ]&0xFFFF;
 
          unsigned short word2 =data[ib+1]&0xFFFF;
 
          unsigned short tdc =  word1;                 
 
          unsigned short ch  =  (word2 >> 1 ) &0x1F;
 
          unsigned short edge =  word2   & 0x1;
 
          unsigned short q    = (word2 >> 8)  &0x1;
 
          unsigned short x    = (word2 >> 9)  &0x1;
 
          
 
          if (edge && ch < MAXCH) gHisto[ch]->Fill(tdc);
 
   
 
          if (fDebug
) printf("%d. [ch=%2d] edge=%d data=%d q=%d x=%d\n",count
,ch
,edge
,tdc
, q
, x
);  
         
 
          count++;
 
       }
 
       ib++;
 
    }
 
    if (data
[evsize
+1]!=END_MARKER
) printf("Error! END_MARKER not found\n");  
//***************** 
 
}
 
for (int i=0;i<MAXCH;i++){
 
if (gHisto[i]->GetEntries()>0) gHisto[i]->Draw();
 
 
 
}
 
 
 
}