#if __GNUC__>= 3
using namespace std;
#endif
#include "AliEveEventBufferHomer.h"
#include "AliEveHOMERManager.h"
#include "TList.h"
#include "TFile.h"
#include <iostream>
ClassImp(AliEveEventBufferHomer);
AliEveEventBufferHomer::AliEveEventBufferHomer() :
fHomer(NULL),
fEventNo(0),
fAsyncList(NULL)
{
fHomer = new AliEveHOMERManager();
Initialize();
}
AliEveEventBufferHomer::~AliEveEventBufferHomer() {
if(fHomer)
delete fHomer;
fHomer = NULL;
}
ULong64_t AliEveEventBufferHomer::GetEventIdFromSource() {
return fHomer->GetEventID();
}
TObject * AliEveEventBufferHomer::GetEventFromSource() {
if(fHomer) {
cout << "calling nexthomerevent"<<endl;
TList * blockList = fHomer->NextHOMEREvent();
cout << "getting async block list"<<endl;
TList * aList = fHomer->GetAsyncBlockList();
fAsyncList = aList;
if(blockList) return dynamic_cast<TObject*>(blockList);
else return NULL;
}
cout << "AliEveEventBufferHomer::GetEventFromSource() : fHomer is null pointer!!"<<endl;
return NULL;
}
void AliEveEventBufferHomer::AddToBuffer(TObject * event) {
cout << "AliEveEventBufferHomer::Add to buffer"<<endl;
if(!event) {
cout << "event is NULL pointer, return" << endl;
return;
}
TList * listIn = dynamic_cast<TList*>(event);
if(!listIn || !(listIn->GetSize() > 0)) {
cout << "AliEveEventBufferHomer::AddToBuffer(): List Is empty, not added to buffer!"<<endl;
return;
}
fBIndex[kTop] = CalculateNext(fBIndex[kTop]);
TList * list = dynamic_cast<TList*>(fEventBuffer->At(fBIndex[kTop]));
if(list) {
list->Delete();
list->AddAll(dynamic_cast<TList*>(event));
}
}
void AliEveEventBufferHomer::Initialize() {
for(Int_t i = 0; i < fBufferSize; i++) {
TList * list = new TList();
list->SetOwner(kTRUE);
fEventBuffer->AddAt(list, i);
}
fAsyncList = new TList();
fAsyncList->SetOwner(kTRUE);
Int_t iResult = fHomer->Initialize();
if(iResult) {
cout << "Error Initializing HOMER!!!"<<endl;
return;
}
fHomer->SetRetryCount(1,15);
fHomer->SetBlockOwner(kFALSE);
}
void AliEveEventBufferHomer::ConnectToSource () {
fHomer->SetRetryCount(200, 15);
fHomer->ReConnectHOMER();
}
void AliEveEventBufferHomer::WriteToFile(Int_t runnumber){
TFile * file = TFile::Open(Form("Run_%d_0x%016llu_ESD.root", runnumber, GetEventId()), "RECREATE");
fEventBuffer->At(fBIndex[kCurrent])->Write("blockList", TObject::kSingleKey);
file->Close();
if(fAsyncList) {
TFile * afile = TFile::Open(Form("Run_%d_0x%016llu_Async.root", runnumber, GetEventId()), "RECREATE");
fAsyncList->Write("blockList", TObject::kSingleKey);
afile->Close();
}
}
AliEveEventBufferHomer.cxx:1 AliEveEventBufferHomer.cxx:2 AliEveEventBufferHomer.cxx:3 AliEveEventBufferHomer.cxx:4 AliEveEventBufferHomer.cxx:5 AliEveEventBufferHomer.cxx:6 AliEveEventBufferHomer.cxx:7 AliEveEventBufferHomer.cxx:8 AliEveEventBufferHomer.cxx:9 AliEveEventBufferHomer.cxx:10 AliEveEventBufferHomer.cxx:11 AliEveEventBufferHomer.cxx:12 AliEveEventBufferHomer.cxx:13 AliEveEventBufferHomer.cxx:14 AliEveEventBufferHomer.cxx:15 AliEveEventBufferHomer.cxx:16 AliEveEventBufferHomer.cxx:17 AliEveEventBufferHomer.cxx:18 AliEveEventBufferHomer.cxx:19 AliEveEventBufferHomer.cxx:20 AliEveEventBufferHomer.cxx:21 AliEveEventBufferHomer.cxx:22 AliEveEventBufferHomer.cxx:23 AliEveEventBufferHomer.cxx:24 AliEveEventBufferHomer.cxx:25 AliEveEventBufferHomer.cxx:26 AliEveEventBufferHomer.cxx:27 AliEveEventBufferHomer.cxx:28 AliEveEventBufferHomer.cxx:29 AliEveEventBufferHomer.cxx:30 AliEveEventBufferHomer.cxx:31 AliEveEventBufferHomer.cxx:32 AliEveEventBufferHomer.cxx:33 AliEveEventBufferHomer.cxx:34 AliEveEventBufferHomer.cxx:35 AliEveEventBufferHomer.cxx:36 AliEveEventBufferHomer.cxx:37 AliEveEventBufferHomer.cxx:38 AliEveEventBufferHomer.cxx:39 AliEveEventBufferHomer.cxx:40 AliEveEventBufferHomer.cxx:41 AliEveEventBufferHomer.cxx:42 AliEveEventBufferHomer.cxx:43 AliEveEventBufferHomer.cxx:44 AliEveEventBufferHomer.cxx:45 AliEveEventBufferHomer.cxx:46 AliEveEventBufferHomer.cxx:47 AliEveEventBufferHomer.cxx:48 AliEveEventBufferHomer.cxx:49 AliEveEventBufferHomer.cxx:50 AliEveEventBufferHomer.cxx:51 AliEveEventBufferHomer.cxx:52 AliEveEventBufferHomer.cxx:53 AliEveEventBufferHomer.cxx:54 AliEveEventBufferHomer.cxx:55 AliEveEventBufferHomer.cxx:56 AliEveEventBufferHomer.cxx:57 AliEveEventBufferHomer.cxx:58 AliEveEventBufferHomer.cxx:59 AliEveEventBufferHomer.cxx:60 AliEveEventBufferHomer.cxx:61 AliEveEventBufferHomer.cxx:62 AliEveEventBufferHomer.cxx:63 AliEveEventBufferHomer.cxx:64 AliEveEventBufferHomer.cxx:65 AliEveEventBufferHomer.cxx:66 AliEveEventBufferHomer.cxx:67 AliEveEventBufferHomer.cxx:68 AliEveEventBufferHomer.cxx:69 AliEveEventBufferHomer.cxx:70 AliEveEventBufferHomer.cxx:71 AliEveEventBufferHomer.cxx:72 AliEveEventBufferHomer.cxx:73 AliEveEventBufferHomer.cxx:74 AliEveEventBufferHomer.cxx:75 AliEveEventBufferHomer.cxx:76 AliEveEventBufferHomer.cxx:77 AliEveEventBufferHomer.cxx:78 AliEveEventBufferHomer.cxx:79 AliEveEventBufferHomer.cxx:80 AliEveEventBufferHomer.cxx:81 AliEveEventBufferHomer.cxx:82 AliEveEventBufferHomer.cxx:83 AliEveEventBufferHomer.cxx:84 AliEveEventBufferHomer.cxx:85 AliEveEventBufferHomer.cxx:86 AliEveEventBufferHomer.cxx:87 AliEveEventBufferHomer.cxx:88 AliEveEventBufferHomer.cxx:89 AliEveEventBufferHomer.cxx:90 AliEveEventBufferHomer.cxx:91 AliEveEventBufferHomer.cxx:92 AliEveEventBufferHomer.cxx:93 AliEveEventBufferHomer.cxx:94 AliEveEventBufferHomer.cxx:95 AliEveEventBufferHomer.cxx:96 AliEveEventBufferHomer.cxx:97 AliEveEventBufferHomer.cxx:98 AliEveEventBufferHomer.cxx:99 AliEveEventBufferHomer.cxx:100 AliEveEventBufferHomer.cxx:101 AliEveEventBufferHomer.cxx:102 AliEveEventBufferHomer.cxx:103 AliEveEventBufferHomer.cxx:104 AliEveEventBufferHomer.cxx:105 AliEveEventBufferHomer.cxx:106 AliEveEventBufferHomer.cxx:107 AliEveEventBufferHomer.cxx:108 AliEveEventBufferHomer.cxx:109 AliEveEventBufferHomer.cxx:110 AliEveEventBufferHomer.cxx:111 AliEveEventBufferHomer.cxx:112 AliEveEventBufferHomer.cxx:113 AliEveEventBufferHomer.cxx:114 AliEveEventBufferHomer.cxx:115 AliEveEventBufferHomer.cxx:116 AliEveEventBufferHomer.cxx:117 AliEveEventBufferHomer.cxx:118 AliEveEventBufferHomer.cxx:119 AliEveEventBufferHomer.cxx:120 AliEveEventBufferHomer.cxx:121 AliEveEventBufferHomer.cxx:122 AliEveEventBufferHomer.cxx:123 AliEveEventBufferHomer.cxx:124 AliEveEventBufferHomer.cxx:125 AliEveEventBufferHomer.cxx:126 AliEveEventBufferHomer.cxx:127 AliEveEventBufferHomer.cxx:128 AliEveEventBufferHomer.cxx:129 AliEveEventBufferHomer.cxx:130 AliEveEventBufferHomer.cxx:131 AliEveEventBufferHomer.cxx:132 AliEveEventBufferHomer.cxx:133 AliEveEventBufferHomer.cxx:134 AliEveEventBufferHomer.cxx:135 AliEveEventBufferHomer.cxx:136 AliEveEventBufferHomer.cxx:137 AliEveEventBufferHomer.cxx:138 AliEveEventBufferHomer.cxx:139 AliEveEventBufferHomer.cxx:140 AliEveEventBufferHomer.cxx:141 AliEveEventBufferHomer.cxx:142