]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/PHOS/testDecoder.cxx
update of data handling classes for SSD calibration
[u/mrichter/AliRoot.git] / HLT / PHOS / testDecoder.cxx
index 1650886524e3e725f78554ea17db9ac5397837b2..c88258c720f5717a80e6fc30d288767280c31469 100644 (file)
@@ -1,7 +1,7 @@
+#include  "AliAltroDecoder.h"    // decoder for altro payload
+#include  "AliAltroData.h"       // container for altro payload
+#include  "AliAltroBunch.h"      // container for altro bunches
 
-#include "AliHLTDDLDecoder.h"
-
-#include "AliHLTAltroData.h"
 #include "Rtypes.h"
 #include <iostream>
 #include <fstream>
 #include <time.h>
 #include "stdio.h"
 
+#define MIN_BUNCH_SIZE 0
 
 using namespace std;
 
 int main(int argc, const char** argv)
 {
   
-  int n_loops = 200000;
+  //  int n_loops = 200000;
+  int n_loops = 1;
 
   clock_t  start;
   clock_t  end;
 
-  AliHLTAltroData altrodata;
-  AliHLTAltroBunch *altrobunchPtr = new AliHLTAltroBunch;
+  AliAltroData altrodata;
+  AliAltroBunch *altrobunchPtr = new AliAltroBunch;
 
   ifstream fin;
   int length;
   
-  AliHLTDDLDecoder *decoder = new AliHLTDDLDecoder();
+  AliAltroDecoder *decoder = new AliAltroDecoder();
   
   fin.open(argv[1], ios::binary);
   
@@ -40,6 +42,9 @@ int main(int argc, const char** argv)
   fin.read (dataPtr,length);
   fin.close();
 
+  int cnt = 0;
+  int channelCnt = 0;
+
   start =clock();
  
   for(int i=0; i < n_loops; i++)
@@ -47,25 +52,49 @@ int main(int argc, const char** argv)
       decoder->SetMemory((UChar_t*)dataPtr, length);
       decoder->Decode();
  
-      while(decoder->NextChannel(&altrodata) == true)
+      
+      while(decoder->NextChannel(&altrodata) == true && channelCnt < 10)
        {
-        
-         if(  altrodata.fDataSize != 0 )
-           {
-  
+         channelCnt ++;
+
+         //      decoder->PrintInfo(altrodata, altrodata.GetDataSize() +4);
 
+         if(  altrodata.GetDataSize() != 0 )
+           {
+             cnt = 0;
+             
              while( altrodata.NextBunch(altrobunchPtr) == true)
                {
-                 //cout << "altrobunch.fDataSize = "    << altrobunchPtr->fBunchSize   << endl;
-                 // cout << "altrobunch.fEndTimeBin = "  << altrobunchPtr->fEndTimeBin  << endl;
+                 //              printf("\n");
+
+                 if(altrobunchPtr->GetBunchSize() > MIN_BUNCH_SIZE)
+                   { 
+                     printf("\n");
+                     cout <<"cnt = "<< cnt <<endl;
+                     cout << "altrobunch.fDataSize = "      << altrobunchPtr->GetBunchSize()   << endl;
+                     cout << "altrobunch.fEndTimeBin = "    << altrobunchPtr->GetEndTimeBin()  << endl;
+                     cout << "altrobunch.fStartTimeBin = "  << altrobunchPtr->GetStartTimeBin()  << endl;
+
+                     for(int i=0; i<altrobunchPtr->GetBunchSize() + 20; i++)
+                       {
+                         if(i != 0 && i%4==0)
+                           {
+                             printf("\n");
+                           }
+                         
+                         //                      printf("%d\t", altrobunchPtr->fData[i]);
+                         printf("%d\t", (altrobunchPtr->GetData())[i]); 
+
+                       }
+                       
+                     printf("\n\n");
+                   }
+                 cnt ++; 
                }
-           //  printf("\n\n");
-            
+
            }
        }
-
-      //     end = clock();
-
+      
     }
 
   end = clock();