]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliMCEventHandler.cxx
Improving event printout
[u/mrichter/AliRoot.git] / STEER / AliMCEventHandler.cxx
index 6a67ab2ef29fa9c97fa8d70c17290f86d8b62598..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
@@ -256,7 +258,7 @@ Bool_t AliMCEventHandler::BeginEvent(Long64_t entry)
     // Read the next event
 
     if (fEventsInContainer != 0) {
-       entry = (Long64_t) entry * Float_t(fNEvent) / Float_t (fEventsInContainer);
+       entry = (Long64_t) ( entry * Float_t(fNEvent) / Float_t (fEventsInContainer));
     }
 
 
@@ -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