#include "AliEventPoolLoop.h"
+#include <TChain.h>
+#include <TFile.h>
+#include <TObjArray.h>
ClassImp(AliEventPoolLoop)
AliEventPoolLoop::AliEventPoolLoop():
AliVEventPool(),
fMaxIterations(0),
- fNIteration(0)
+ fNIteration(1),
+ fChainClone(0)
{
// Default constructor
}
AliEventPoolLoop::AliEventPoolLoop(Int_t nit):
AliVEventPool(),
fMaxIterations(nit),
- fNIteration(0)
+ fNIteration(1),
+ fChainClone(0)
{
// Default constructor
}
AliEventPoolLoop::AliEventPoolLoop(const char* name, const char* title):
AliVEventPool(name, title),
fMaxIterations(0),
- fNIteration(0)
+ fNIteration(1),
+ fChainClone(0)
{
// Constructor
}
AliEventPoolLoop::AliEventPoolLoop(const AliEventPoolLoop& obj):
AliVEventPool(obj),
fMaxIterations(obj.fMaxIterations),
- fNIteration(obj.fNIteration)
+ fNIteration(obj.fNIteration),
+ fChainClone(0)
{
// Copy constructor
}
// Initialisation
fMaxIterations = 0;
- fNIteration = 0;
+ fNIteration = 1;
}
TChain* AliEventPoolLoop::GetNextChain()
{
- //
- if (fNIteration >= fMaxIterations) {
+ // Get the next chain
+ if (fNIteration > fMaxIterations) {
return (0);
} else {
fNIteration++;
- return fChain;
+ /*
+ if (fChainClone) {
+ fChainClone->Reset();
+ new (fChainClone) TChain(fChain->GetName());
+ } else {
+ fChainClone = new TChain(fChain->GetName());
+ }
+ TObjArray* files = fChain->GetListOfFiles();
+ Int_t n = files->GetEntriesFast();
+ for (Int_t i = 0; i < n; i++) {
+ TFile* file = (TFile*) (files->At(i));
+ fChainClone->AddFile(file->GetTitle());
+ printf("Adding %s %s %s\n", fChainClone->GetName(), file->GetName(), file->GetTitle());
+
+ }
+ */
+ fChainClone = (TChain*) (fChain->Clone());
+ return fChainClone;
}
}