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();
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) {
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();
}
//_____________________________________________________________________________
-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
{ 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
{ 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;
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();