]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliMCEventHandler.cxx
Added setting selection for MakeDigits, MakeSDigits, MakeDigitsFromHits,
[u/mrichter/AliRoot.git] / STEER / AliMCEventHandler.cxx
index f555489353cc1d69d74c566cb4a3a2cadbde7779..20f007273fc6c92a445dd84dd9f46319f691cab6 100644 (file)
@@ -79,7 +79,8 @@ AliMCEventHandler::AliMCEventHandler(const char* name, const char* title) :
     fPathName(new TString("./")),
     fExtension(""),
     fFileNumber(0),
-    fEventsPerFile(0)
+    fEventsPerFile(0),
+    fReadTR(kTRUE)
 {
     // Constructor
 }
@@ -92,13 +93,12 @@ AliMCEventHandler::~AliMCEventHandler()
     delete fFileTR;
 }
 
-Bool_t AliMCEventHandler::InitIO(Option_t* opt)
+Bool_t AliMCEventHandler::Init(Option_t* opt)
 { 
     // Initialize input
     //
     if (!(strcmp(opt, "proof")) || !(strcmp(opt, "local"))) return kTRUE;
     //
-
     fFileE = TFile::Open(Form("%sgalice.root", fPathName->Data()));
     if (!fFileE) AliFatal(Form("AliMCEventHandler:galice.root not found in directory %s ! \n", fPathName->Data()));
 
@@ -123,7 +123,7 @@ Bool_t AliMCEventHandler::InitIO(Option_t* opt)
     // Reset the event number
     fEvent      = -1;
     fFileNumber =  0;
-    
+    printf("AliMCEvenHandler::Init() %d\n",__LINE__);
     AliInfo(Form("AliMCEventHandler:Number of events in this directory %5d \n", fNEvent));
     return kTRUE;
 }
@@ -206,7 +206,7 @@ Bool_t AliMCEventHandler::BeginEvent(Long64_t entry)
     }
 
     if (entry >= fNEvent) {
-       AliWarning(Form("AliMCEventHandler: Event number out of range %5d\n", entry));
+       AliWarning(Form("AliMCEventHandler: Event number out of range %5d %5d\n", entry,fNEvent));
        return kFALSE;
     }
     return GetEvent(entry);
@@ -243,21 +243,23 @@ Bool_t AliMCEventHandler::Notify(const char *path)
     
     ResetIO();
     InitIO("");
+
     return kTRUE;
 }
-    
+
 void AliMCEventHandler::ResetIO()
 {
 //  Clear header and stack
     fMCEvent->Clean();
     
-// Delete Tree E    
+// Delete Tree E
     delete fTreeE; fTreeE = 0;
-    
+
 // Reset files
-    if (fFileE)  delete fFileE;
-    if (fFileK)  delete fFileK;
-    if (fFileTR) delete fFileTR;
+    if (fFileE)  {fFileE->Close();  delete fFileE;  fFileE  = 0;}
+    if (fFileK)  {fFileK->Close();  delete fFileK;  fFileK  = 0;}
+    if (fFileTR) {fFileTR->Close(); delete fFileTR; fFileTR = 0;}
+    fExtension="";
 }