#if __GNUC__>= 3
using namespace std;
#endif
#include "AliEveEventBufferOffline.h"
#include "AliESDEvent.h"
#include "AliEveEventBufferOffline.h"
#include "AliEveEventBuffer.h"
#include "TTimer.h"
#include "TFile.h"
#include "TTree.h"
#include <iostream>
ClassImp(AliEveEventBufferOffline);
AliEveEventBufferOffline::AliEveEventBufferOffline() :
fFile(NULL),
fNEntries(0),
fEventNo(0),
fEvent(NULL),
fTree(NULL)
{
}
AliEveEventBufferOffline::AliEveEventBufferOffline(TString filename) :
fFile(NULL),
fNEntries(0),
fEventNo(0),
fEvent(NULL),
fTree(NULL)
{
fEvent = new AliESDEvent();
cout <<"opening file " << filename << " what?" <<endl;
fFile = TFile::Open(filename, "READ");
if(!fFile) {
cout << "Couldn't open file, crashing hard! Soon?"<<endl;
return;
}
fTree = dynamic_cast<TTree *>(fFile->Get("HLTesdTree"));
if(fTree) {
fNEntries = fTree->GetEntries();
cout << "File has " << fNEntries << "events" << endl;
fEvent->ReadFromTree(fTree);
}
}
AliEveEventBufferOffline::~AliEveEventBufferOffline() {
if(fFile)
delete fFile;
fFile = NULL;
if(fTree)
delete fTree;
fTree = NULL;
if(fEvent)
delete fEvent;
fEvent = NULL;
}
TObject * AliEveEventBufferOffline::GetEventFromSource() {
if(fTree) {
fTree->GetEntry(fEventNo++);
if(fEventNo == fNEntries)
fEventNo = 0;
} else {
cout << "Tree not found, probably bad file!!"<<endl;
return NULL;
}
if (fEvent) {
return dynamic_cast<TObject*>(fEvent);
} else {
cout << "error getting event" << endl;
return NULL;
}
}
void AliEveEventBufferOffline::ConnectToSource() {
return;
}
void AliEveEventBufferOffline::WriteToFile(Int_t runnumber){
TFile * file = TFile::Open(Form("%d_0x%016llu_ESD.root", runnumber, GetEventId()), "RECREATE");
fEventBuffer->At(fBIndex[kCurrent])->Write("blockList", TObject::kSingleKey);
file->Close();
}
AliEveEventBufferOffline.cxx:1 AliEveEventBufferOffline.cxx:2 AliEveEventBufferOffline.cxx:3 AliEveEventBufferOffline.cxx:4 AliEveEventBufferOffline.cxx:5 AliEveEventBufferOffline.cxx:6 AliEveEventBufferOffline.cxx:7 AliEveEventBufferOffline.cxx:8 AliEveEventBufferOffline.cxx:9 AliEveEventBufferOffline.cxx:10 AliEveEventBufferOffline.cxx:11 AliEveEventBufferOffline.cxx:12 AliEveEventBufferOffline.cxx:13 AliEveEventBufferOffline.cxx:14 AliEveEventBufferOffline.cxx:15 AliEveEventBufferOffline.cxx:16 AliEveEventBufferOffline.cxx:17 AliEveEventBufferOffline.cxx:18 AliEveEventBufferOffline.cxx:19 AliEveEventBufferOffline.cxx:20 AliEveEventBufferOffline.cxx:21 AliEveEventBufferOffline.cxx:22 AliEveEventBufferOffline.cxx:23 AliEveEventBufferOffline.cxx:24 AliEveEventBufferOffline.cxx:25 AliEveEventBufferOffline.cxx:26 AliEveEventBufferOffline.cxx:27 AliEveEventBufferOffline.cxx:28 AliEveEventBufferOffline.cxx:29 AliEveEventBufferOffline.cxx:30 AliEveEventBufferOffline.cxx:31 AliEveEventBufferOffline.cxx:32 AliEveEventBufferOffline.cxx:33 AliEveEventBufferOffline.cxx:34 AliEveEventBufferOffline.cxx:35 AliEveEventBufferOffline.cxx:36 AliEveEventBufferOffline.cxx:37 AliEveEventBufferOffline.cxx:38 AliEveEventBufferOffline.cxx:39 AliEveEventBufferOffline.cxx:40 AliEveEventBufferOffline.cxx:41 AliEveEventBufferOffline.cxx:42 AliEveEventBufferOffline.cxx:43 AliEveEventBufferOffline.cxx:44 AliEveEventBufferOffline.cxx:45 AliEveEventBufferOffline.cxx:46 AliEveEventBufferOffline.cxx:47 AliEveEventBufferOffline.cxx:48 AliEveEventBufferOffline.cxx:49 AliEveEventBufferOffline.cxx:50 AliEveEventBufferOffline.cxx:51 AliEveEventBufferOffline.cxx:52 AliEveEventBufferOffline.cxx:53 AliEveEventBufferOffline.cxx:54 AliEveEventBufferOffline.cxx:55 AliEveEventBufferOffline.cxx:56 AliEveEventBufferOffline.cxx:57 AliEveEventBufferOffline.cxx:58 AliEveEventBufferOffline.cxx:59 AliEveEventBufferOffline.cxx:60 AliEveEventBufferOffline.cxx:61 AliEveEventBufferOffline.cxx:62 AliEveEventBufferOffline.cxx:63 AliEveEventBufferOffline.cxx:64 AliEveEventBufferOffline.cxx:65 AliEveEventBufferOffline.cxx:66 AliEveEventBufferOffline.cxx:67 AliEveEventBufferOffline.cxx:68 AliEveEventBufferOffline.cxx:69 AliEveEventBufferOffline.cxx:70 AliEveEventBufferOffline.cxx:71 AliEveEventBufferOffline.cxx:72 AliEveEventBufferOffline.cxx:73 AliEveEventBufferOffline.cxx:74 AliEveEventBufferOffline.cxx:75 AliEveEventBufferOffline.cxx:76 AliEveEventBufferOffline.cxx:77 AliEveEventBufferOffline.cxx:78 AliEveEventBufferOffline.cxx:79 AliEveEventBufferOffline.cxx:80 AliEveEventBufferOffline.cxx:81 AliEveEventBufferOffline.cxx:82 AliEveEventBufferOffline.cxx:83 AliEveEventBufferOffline.cxx:84 AliEveEventBufferOffline.cxx:85 AliEveEventBufferOffline.cxx:86 AliEveEventBufferOffline.cxx:87 AliEveEventBufferOffline.cxx:88 AliEveEventBufferOffline.cxx:89 AliEveEventBufferOffline.cxx:90 AliEveEventBufferOffline.cxx:91 AliEveEventBufferOffline.cxx:92 AliEveEventBufferOffline.cxx:93 AliEveEventBufferOffline.cxx:94 AliEveEventBufferOffline.cxx:95 AliEveEventBufferOffline.cxx:96 AliEveEventBufferOffline.cxx:97 AliEveEventBufferOffline.cxx:98 AliEveEventBufferOffline.cxx:99 AliEveEventBufferOffline.cxx:100 AliEveEventBufferOffline.cxx:101 AliEveEventBufferOffline.cxx:102 AliEveEventBufferOffline.cxx:103 AliEveEventBufferOffline.cxx:104 AliEveEventBufferOffline.cxx:105 AliEveEventBufferOffline.cxx:106 AliEveEventBufferOffline.cxx:107 AliEveEventBufferOffline.cxx:108 AliEveEventBufferOffline.cxx:109 AliEveEventBufferOffline.cxx:110 AliEveEventBufferOffline.cxx:111 AliEveEventBufferOffline.cxx:112 AliEveEventBufferOffline.cxx:113 AliEveEventBufferOffline.cxx:114 AliEveEventBufferOffline.cxx:115 AliEveEventBufferOffline.cxx:116 AliEveEventBufferOffline.cxx:117 AliEveEventBufferOffline.cxx:118 AliEveEventBufferOffline.cxx:119 AliEveEventBufferOffline.cxx:120 AliEveEventBufferOffline.cxx:121 AliEveEventBufferOffline.cxx:122