]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDdigitsManager.cxx
Make use of new method AliRawReader::GetNumberOfEvents() - goinf to the last event...
[u/mrichter/AliRoot.git] / TRD / AliTRDdigitsManager.cxx
index 3a8ef5554669e61b492299a6fcc30867f54067af..e33dd16637c376b00afc5c4469734b097efbd1ce 100644 (file)
@@ -36,6 +36,7 @@
 #include "AliTRDdataArray.h"
 #include "AliTRDdataArrayI.h"
 #include "AliTRDdataArrayS.h"
+#include "AliTRDdataArrayDigits.h"
 #include "AliTRDdigit.h"
 #include "AliTRDgeometry.h"
 
@@ -156,7 +157,7 @@ void AliTRDdigitsManager::CreateArrays()
     fDigits = new AliTRDsegmentArray("AliTRDdataArrayF",AliTRDgeometry::Ndet());
   }
   else {
-    fDigits = new AliTRDsegmentArray("AliTRDdataArrayS",AliTRDgeometry::Ndet());
+    fDigits = new AliTRDsegmentArray("AliTRDdataArrayDigits",AliTRDgeometry::Ndet());
   }
 
   if (fUseDictionaries) {
@@ -220,10 +221,26 @@ Short_t AliTRDdigitsManager::GetDigitAmp(Int_t row, Int_t col,Int_t time
     return 0;
   }
 
-  return ((Short_t) ((AliTRDdataArrayS *) GetDigits(det))->GetData(row,col,time));
+  return ((Short_t) ((AliTRDdataArrayDigits *) GetDigits(det))->GetData(row,col,time));
 
 }
  
+//_____________________________________________________________________________
+UChar_t AliTRDdigitsManager::GetPadStatus(Int_t row, Int_t col, Int_t time
+                                             , Int_t det) const
+{
+  //
+  // Returns the pad status for the requested pad
+  //
+       
+  if (!GetDigits(det)) {
+    return 0;
+  }
+
+  return ((UChar_t) ((AliTRDdataArrayDigits *) GetDigits(det))->GetPadStatus(row,col,time));
+
+}
+
 //_____________________________________________________________________________
 Bool_t AliTRDdigitsManager::MakeBranch(TTree *tree)
 {
@@ -370,7 +387,7 @@ AliTRDdigit *AliTRDdigitsManager::GetDigit(Int_t row, Int_t col
   digits[2] = col;
   digits[3] = time;
 
-  amp[0]    = ((AliTRDdataArrayS *) GetDigits(det))->GetData(row,col,time);
+  amp[0]    = ((AliTRDdataArrayDigits *) GetDigits(det))->GetData(row,col,time);
   
   return (new AliTRDdigit(digits,amp));
 
@@ -401,7 +418,7 @@ Int_t AliTRDdigitsManager::GetTrack(Int_t track
 }
 
 //_____________________________________________________________________________
-AliTRDdataArray *AliTRDdigitsManager::GetDigits(Int_t det) const
+AliTRDdataArrayDigits *AliTRDdigitsManager::GetDigits(Int_t det) const
 {
   //
   // Returns the digits array for one detector
@@ -411,7 +428,7 @@ AliTRDdataArray *AliTRDdigitsManager::GetDigits(Int_t det) const
     return 0x0;
   }
 
-  return (AliTRDdataArray *) fDigits->At(det);
+  return (AliTRDdataArrayDigits *) fDigits->At(det);
 
 }
 
@@ -492,7 +509,7 @@ void AliTRDdigitsManager::ClearIndexes(Int_t det)
   // Clear memory
   //
 
-  fSignalIndexes->At(det)->Clear();  
+  ((AliTRDSignalIndex *) fSignalIndexes->At(det))->ClearAll();  
 
 }
 
@@ -508,13 +525,13 @@ Bool_t AliTRDdigitsManager::BuildIndexes(Int_t det)
   Int_t nTbins = 0;
 
   AliTRDgeometry    geom;
-  AliTRDdataArrayS *digits = 0x0;
+  AliTRDdataArrayDigits *digits = 0x0;
 
   if (fHasSDigits) {
     return kFALSE;
   }
   else {
-    digits = (AliTRDdataArrayS *) GetDigits(det);
+    digits = (AliTRDdataArrayDigits *) GetDigits(det);
   }
 
   //digits should be expanded by now!!!
@@ -527,8 +544,8 @@ Bool_t AliTRDdigitsManager::BuildIndexes(Int_t det)
 
     AliTRDSignalIndex *indexes = GetIndexes(det);
     indexes->SetSM(geom.GetSector(det));
-    indexes->SetChamber(geom.GetChamber(det));
-    indexes->SetPlane(geom.GetPlane(det));
+    indexes->SetStack(geom.GetStack(det));
+    indexes->SetLayer(geom.GetLayer(det));
     indexes->SetDetNumber(det);
 
     if (indexes->IsAllocated() == kFALSE) {