Allow for NTimeBins not being multiples of 3
authorcblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Nov 2009 15:05:45 +0000 (15:05 +0000)
committercblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Nov 2009 15:05:45 +0000 (15:05 +0000)
TRD/AliTRDrawFastStream.cxx
TRD/AliTRDrawFastStream.h
TRD/AliTRDrawStream.cxx
TRD/AliTRDrawStream.h

index c9ca09a..8dba41c 100644 (file)
@@ -532,7 +532,6 @@ void AliTRDrawFastStream::ResetPerMCM()
   fMCM.fADCMaskWord = 0;\r
   fMCM.fADCmax = 0;\r
   fMCM.fADCcount = 0;\r
-  fMCM.fMCMADCWords = 0;\r
   fMCM.fSingleADCwords = 0;\r
   fMCM.fMCMhdCorrupted = 0;\r
   fMCM.fADCmaskCorrupted = 0;\r
@@ -1489,7 +1488,6 @@ void AliTRDrawFastStream::DecodeMask(const UInt_t *word, struct AliTRDrawMCM *mc
   //\r
   // decode the adc mask - adcs to be read out\r
   //\r
-  mcm->fMCMADCWords = 0;\r
   mcm->fSingleADCwords = 0;\r
   mcm->fADCmax = 0;\r
   mcm->fADCMask = GetMCMadcMask(word, mcm);\r
@@ -1517,11 +1515,8 @@ void AliTRDrawFastStream::MCMADCwordsWithTbins(UInt_t fTbins, struct AliTRDrawMC
   //\r
   //  count the expected mcm words for a given tbins\r
   //\r
-  mcm->fMCMADCWords = ( mcm->fADCmax ) * ( fTbins / 3 );\r
   mcm->fSingleADCwords = 0;\r
-  if (mcm->fADCmax > 0) {\r
-    mcm->fSingleADCwords = mcm->fMCMADCWords/mcm->fADCmax;\r
-  }\r
+  mcm->fSingleADCwords = (fTbins-1)/3+1;\r
   if (fTbins > 32) mcm->fSingleADCwords = 10; // if the timebin is more than 30, then fix the number of adc words to 10\r
 }\r
 \r
index 1c012ce..c10f0d2 100644 (file)
@@ -46,7 +46,6 @@ class AliTRDrawFastStream : public AliTRDrawStreamBase
       \r
     Int_t               fADCmax;                  // number of ADCs fired\r
     Int_t               fADCcount;                // number of ADCs fired from double checking bit\r
-    Int_t               fMCMADCWords;             // mcm words to expect\r
     Int_t               fSingleADCwords;          // n of words per ADC\r
       \r
     Int_t               fMCMhdCorrupted;          // is mcm header corrupted\r
@@ -69,7 +68,6 @@ class AliTRDrawFastStream : public AliTRDrawStreamBase
       , fADCchannel()      \r
       , fADCmax(0)\r
       , fADCcount(0)\r
-      , fMCMADCWords(0)      \r
       , fSingleADCwords(0)\r
       , fMCMhdCorrupted(0)      \r
       , fADCmaskCorrupted(0)      \r
@@ -91,7 +89,6 @@ class AliTRDrawFastStream : public AliTRDrawStreamBase
       , fADCchannel()      \r
       , fADCmax(p.fADCmax)\r
       , fADCcount(p.fADCcount)\r
-      , fMCMADCWords(p.fMCMADCWords)      \r
       , fSingleADCwords(p.fSingleADCwords)\r
       , fMCMhdCorrupted(p.fMCMhdCorrupted)      \r
       , fADCmaskCorrupted(p.fADCmaskCorrupted)      \r
index 74169a4..ccd6698 100644 (file)
@@ -549,7 +549,6 @@ void AliTRDrawStream::ResetPerMCM()
   fMCM->fADCMaskWord = 0;\r
   fMCM->fADCmax = 0;\r
   fMCM->fADCcount = 0;\r
-  fMCM->fMCMADCWords = 0;\r
   fMCM->fSingleADCwords = 0;\r
   fMCM->fMCMhdCorrupted = 0;\r
   fMCM->fADCmaskCorrupted = 0;\r
@@ -2032,7 +2031,6 @@ void AliTRDrawStream::DecodeMask(const UInt_t *word, struct AliTRDrawMCM *mcm) c
   //\r
   // decode the adc mask - adcs to be read out\r
   //\r
-  mcm->fMCMADCWords = 0;\r
   mcm->fSingleADCwords = 0;\r
   mcm->fADCmax = 0;\r
   mcm->fADCMask = GetMCMadcMask(word, mcm);\r
@@ -2058,11 +2056,8 @@ void AliTRDrawStream::MCMADCwordsWithTbins(UInt_t fTbins, struct AliTRDrawMCM *m
   //\r
   //  count the expected mcm words for a given tbins\r
   //\r
-  mcm->fMCMADCWords = ( mcm->fADCmax ) * ( fTbins / 3 );\r
   mcm->fSingleADCwords = 0;\r
-  if (mcm->fADCmax > 0) {\r
-    mcm->fSingleADCwords = mcm->fMCMADCWords/mcm->fADCmax;\r
-  }\r
+  mcm->fSingleADCwords = (fTbins-1)/3+1;\r
   if (fTbins > 32) mcm->fSingleADCwords = 10; // if the timebin is more than 30, then fix the number of adc words to 10\r
 }\r
   \r
index 92cc61d..c78b3ea 100644 (file)
@@ -89,7 +89,6 @@ class AliTRDrawStream : public AliTRDrawStreamBase
       \r
     Int_t               fADCmax;                  // number of ADCs fired\r
     Int_t               fADCcount;                // number of ADCs fired from double checking bit\r
-    Int_t               fMCMADCWords;             // mcm words to expect\r
     Int_t               fSingleADCwords;          // n of words per ADC\r
       \r
     Int_t               fMCMhdCorrupted;          // is mcm header corrupted\r
@@ -112,7 +111,6 @@ class AliTRDrawStream : public AliTRDrawStreamBase
       , fADCchannel()      \r
       , fADCmax(0)\r
       , fADCcount(0)\r
-      , fMCMADCWords(0)      \r
       , fSingleADCwords(0)\r
       , fMCMhdCorrupted(0)      \r
       , fADCmaskCorrupted(0)      \r
@@ -135,7 +133,6 @@ class AliTRDrawStream : public AliTRDrawStreamBase
       , fADCchannel()      \r
       , fADCmax(p.fADCmax)\r
       , fADCcount(p.fADCcount)\r
-      , fMCMADCWords(p.fMCMADCWords)      \r
       , fSingleADCwords(p.fSingleADCwords)\r
       , fMCMhdCorrupted(p.fMCMhdCorrupted)      \r
       , fADCmaskCorrupted(p.fADCmaskCorrupted)      \r