fPathName(new TString("./")),
fExtension(""),
fFileNumber(0),
- fEventsPerFile(0)
+ fEventsPerFile(0),
+ fReadTR(kTRUE)
{
// Constructor
}
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()));
// 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;
}
return ok;
}
-Bool_t AliMCEventHandler::BeginEvent()
+Bool_t AliMCEventHandler::BeginEvent(Long64_t entry)
{
// Read the next event
- fEvent++;
- if (fEvent >= fNEvent) {
- AliWarning(Form("AliMCEventHandler: Event number out of range %5d\n", fEvent));
+ if (entry == -1) {
+ fEvent++;
+ entry = fEvent;
+ } else {
+ fEvent = entry;
+ }
+
+ if (entry >= fNEvent) {
+ AliWarning(Form("AliMCEventHandler: Event number out of range %5d %5d\n", entry,fNEvent));
return kFALSE;
}
- return GetEvent(fEvent);
+ return GetEvent(entry);
}
Int_t AliMCEventHandler::GetParticleAndTR(Int_t i, TParticle*& particle, TClonesArray*& trefs)
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) delete fFileE; fFileE = 0;
+ if (fFileK) delete fFileK; fFileK = 0;
+ if (fFileTR) delete fFileTR; fFileTR = 0;
}