]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDtrackGTU.cxx
fixes for GTU simulation
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackGTU.cxx
index 3384c5364a7962fb418abae70cd1bebbf9e1860a..985b0c5a470070452af9f5e0d3e63c2c74ca4b88 100644 (file)
@@ -200,10 +200,20 @@ Int_t AliTRDtrackGTU::GetZSubChannel()
 // returns the z-subchannel
 
   if (fZSubChannel < 0) {
-    for (Int_t layer = 0; layer < AliTRDgtuParam::GetNLayers(); layer++)
-    {
-      if (IsTrackletInLayer(layer))
-       fZSubChannel = ((AliTRDtrackletGTU*) (*fTracklets)[layer])->GetSubChannel(GetZChannel());
+    for (Int_t layer = 0; layer < AliTRDgtuParam::GetNLayers(); layer++) {
+      if (IsTrackletInLayer(layer)) {
+       AliTRDtrackletGTU *trkl = (AliTRDtrackletGTU*) (*fTracklets)[layer];
+       if (trkl) {
+         if ((fZSubChannel > -1) &&
+             (fZSubChannel != trkl->GetSubChannel(GetZChannel())))
+           AliError(Form("found inconsistent z-subchannels: track = %i/%i, trkl = %i",
+                         GetZChannel(), fZSubChannel, trkl->GetSubChannel(GetZChannel())));
+         fZSubChannel = trkl->GetSubChannel(GetZChannel());
+       }
+       else {
+         AliError("no tracklet where one should be according to layer mask");
+       }
+      }
     }
   }
   return fZSubChannel;