Adding integrator flag to raw data. Small fixes.
authorcheynis <cheynis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 13 Jul 2009 10:47:50 +0000 (10:47 +0000)
committercheynis <cheynis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 13 Jul 2009 10:47:50 +0000 (10:47 +0000)
VZERO/AliVZERO.cxx
VZERO/AliVZEROBuffer.cxx
VZERO/AliVZEROBuffer.h

index f5abff8..a6adecc 100755 (executable)
@@ -303,6 +303,7 @@ void AliVZERO::Digits2Raw()
    UInt_t ADC[64];
    Int_t PMNumber[64];
    UInt_t Time[64];
+   Bool_t Integrator[64];
   
    for (Int_t i = 0; i < nEntries; i++) {
      fVZERO->ResetDigits();
@@ -318,6 +319,7 @@ void AliVZERO::Digits2Raw()
         ADC[iChannel]       = (UInt_t) fVZERODigit->ADC();
         PMNumber[iChannel]  = fVZERODigit->PMNumber();
         Time[iChannel]      = (UInt_t) fVZERODigit->Time();
+        Integrator[iChannel]= fVZERODigit->Integrator(); 
          if(verbose == 1) { cout <<"DDL: "<<fileName<< "\tdigit number: "<< k<<"\tPM number: "
                            <<PMNumber[k]<<"\tADC: "<< ADC[k] << "\tTime: "<< Time[k] << endl;} 
         if(verbose == 2) {
@@ -337,7 +339,7 @@ void AliVZERO::Digits2Raw()
   
       for(Int_t iChannel_Offset = iCIU*8; iChannel_Offset < (iCIU*8)+8; iChannel_Offset=iChannel_Offset+4) { 
          for(Int_t iChannel = iChannel_Offset; iChannel < iChannel_Offset+4; iChannel++) {
-             buffer->WriteChannel(iChannel, ADC[iChannel], Time[iChannel]);       
+             buffer->WriteChannel(iChannel, ADC[iChannel], Time[iChannel], Integrator[iChannel]);       
          }
          buffer->WriteBeamFlags(); 
          buffer->WriteMBInfo(); 
index 8bc090e..05c414b 100644 (file)
@@ -131,7 +131,7 @@ void AliVZEROBuffer::WriteBunchNumbers() {
 }
 
 //_____________________________________________________________________________
-void AliVZEROBuffer::WriteChannel(Int_t cell, UInt_t ADC, UInt_t /*Time*/){
+void AliVZEROBuffer::WriteChannel(Int_t cell, UInt_t ADC, UInt_t /*Time*/, Bool_t integrator){
   // It writes VZERO charge information into a raw data file. 
   // Being called by Digits2Raw
   
@@ -149,7 +149,8 @@ void AliVZEROBuffer::WriteChannel(Int_t cell, UInt_t ADC, UInt_t /*Time*/){
     { for(Int_t i = 0; i < 5; i++)
          { data = 0; 
            f->WriteBuffer((char*)&data,sizeof(data)); }      
-      data = ADC | 0x400; 
+      data = ADC & 0x3ff;
+      data |= (integrator & 0x1) << 10; 
       f->WriteBuffer((char*)&data,sizeof(data)); }
   else
   // Information about previous 10 interaction 
@@ -157,7 +158,8 @@ void AliVZEROBuffer::WriteChannel(Int_t cell, UInt_t ADC, UInt_t /*Time*/){
     { for(Int_t i = 0; i < 4; i++)
          { data = 0;
            f->WriteBuffer((char*)&data,sizeof(data)); }           
-      data |= (ADC & 0x3ff) << 16;
+      data = (ADC & 0x3ff) << 16;
+      data |= (integrator & 0x1) << 26;
       f->WriteBuffer((char*)&data,sizeof(data)); }
     
   data = 0;
index 3091d5b..69ba4ad 100644 (file)
@@ -26,7 +26,7 @@ public:
   void    WriteTriggerInfo(UInt_t trigger);
   void    WriteTriggerScalers();
   void    WriteBunchNumbers();  
-  void    WriteChannel(Int_t cell,UInt_t ADC, UInt_t Time);
+  void    WriteChannel(Int_t cell,UInt_t ADC, UInt_t Time, Bool_t integrator);
   void    WriteBeamFlags();
   void    WriteMBInfo();
   void    WriteMBFlags();