]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITS.cxx
Fix in assignment of label to SDD RecPoints (F. Prino)
[u/mrichter/AliRoot.git] / ITS / AliITS.cxx
index bf25ca02e676b3aa8b53cfc18a29e71efa703b40..aa9c3a2254654fcda69ca40a0092da831fd00128 100644 (file)
@@ -229,9 +229,8 @@ AliITS::~AliITS(){
 
     delete[] fIdName;  // Array of TStrings
     delete[] fIdSens;
-    Int_t size   = 0;
+    Int_t size   = AliITSgeomTGeo::GetNModules();
     if (fDetTypeSim){
-      if (GetITSgeom()) size = GetITSgeom()->GetIndexMax();
       delete fDetTypeSim;
       fDetTypeSim = 0;
     }
@@ -1217,7 +1216,7 @@ Bool_t AliITS::Raw2SDigits(AliRawReader* rawReader)
   // Get TreeS
   //
   Int_t last   = -1;
-  Int_t size   = GetITSgeom()->GetIndexMax();
+  Int_t size   = AliITSgeomTGeo::GetNModules();
   if(!fModA) {
     fModA = new TClonesArray*[size];
     for (Int_t mod = 0; mod < size; mod++) fModA[mod] = new TClonesArray("AliITSpListItem", 10000);
@@ -1329,6 +1328,8 @@ Bool_t AliITS::Raw2SDigits(AliRawReader* rawReader)
     if (!next) break;
 
     Int_t module  = inputSSD.GetModuleID();
+    if(module<0)AliError(Form("Invalid SSD  module %d \n",module));
+    if(module<0)continue;
     Int_t side    = inputSSD.GetSideFlag();
     Int_t strip   = inputSSD.GetStrip();
     Int_t signal  = inputSSD.GetSignal();
@@ -1354,7 +1355,7 @@ Bool_t AliITS::Raw2SDigits(AliRawReader* rawReader)
       Int_t nsdig =  fModA[mod]->GetEntries();
       for (Int_t ie = 0; ie < nsdig; ie++) {
        sdig = (AliITSpListItem*) (fModA[mod]->At(ie));
-       Int_t digsig = sdig->GetSignal();
+       Double_t digsig = sdig->GetSignal();
        if(mod>=firstssd) digsig*=adcToEv; // for SSD: convert back charge from ADC to electron
        new (aSDigits[ie]) AliITSpListItem(-1, -1, mod, sdig->GetIndex(), digsig);
        Float_t sig = sdig->GetSignalAfterElect();