]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliMCEventHandler.cxx
Additional fix to bug #59368.
[u/mrichter/AliRoot.git] / STEER / AliMCEventHandler.cxx
index e4686f767d25c00315a963c3cc90915d48ccf5dc..9c37a1dfee572c973979d79c7a7de6845b4eb3f0 100644 (file)
@@ -66,7 +66,8 @@ AliMCEventHandler::AliMCEventHandler() :
     fReadTR(kTRUE),
     fInitOk(kFALSE),
     fSubsidiaryHandlers(0),
-    fEventsInContainer(0)
+    fEventsInContainer(0),
+    fPreReadMode(kNoPreRead)
 {
   //
   // Default constructor
@@ -97,7 +98,8 @@ AliMCEventHandler::AliMCEventHandler(const char* name, const char* title) :
     fReadTR(kTRUE),
     fInitOk(kFALSE),
     fSubsidiaryHandlers(0),
-    fEventsInContainer(0)
+    fEventsInContainer(0),
+    fPreReadMode(kNoPreRead)
 {
   //
   // Constructor
@@ -286,6 +288,11 @@ Bool_t AliMCEventHandler::BeginEvent(Long64_t entry)
        }
        fMCEvent->InitEvent();
     }
+    
+    if (fPreReadMode == kLmPreRead) {
+       fMCEvent->PreReadAll();
+    }
+
     return result;
     
 }
@@ -358,12 +365,12 @@ void  AliMCEventHandler::VerifySelectedParticles(){
 
       if(!IsParticleSelected(i))continue;
 
-      AliMCParticle* mcpart = fMCEvent->GetTrack(i);
+      AliMCParticle* mcpart = (AliMCParticle*) fMCEvent->GetTrack(i);
       Int_t imo = mcpart->GetMother();
       while((imo >= nprim)&&!IsParticleSelected(imo)){
          // Mother not yet selected
          SelectParticle(imo);
-         AliMCParticle* mcpart = fMCEvent->GetTrack(imo);
+         mcpart = (AliMCParticle*) fMCEvent->GetTrack(imo);
          imo = mcpart->GetMother();
       }
     // after last step we may have an unselected primary