5 #include "AliEveEventBufferHomer.h"
6 #include "AliEveHOMERManager.h"
13 ClassImp(AliEveEventBufferHomer);
15 ///_______________________________________________________________________
16 AliEveEventBufferHomer::AliEveEventBufferHomer() :
21 // see header file for class documentation
22 fHomer = new AliEveHOMERManager();
28 ///____________________________________________________________________
29 AliEveEventBufferHomer::~AliEveEventBufferHomer() {
39 ULong64_t AliEveEventBufferHomer::GetEventIdFromSource() {
41 return fHomer->GetEventID();
44 ///______________________________________________________________________
45 TObject * AliEveEventBufferHomer::GetEventFromSource() {
46 //see header file for documentation
48 cout << "calling nexthomerevent"<<endl;
49 TList * blockList = fHomer->NextHOMEREvent();
51 if(blockList) return dynamic_cast<TObject*>(blockList);
55 cout << "AliEveEventBufferHomer::GetEventFromSource() : fHomer is null pointer!!"<<endl;
59 ///___________________________________________________________________________
60 void AliEveEventBufferHomer::AddToBuffer(TObject * event) {
61 cout << "Add to buffer"<<endl;
63 fBIndex[kTop] = CalculateNext(fBIndex[kTop]);
64 TList * list = dynamic_cast<TList*>(fEventBuffer->At(fBIndex[kTop]));
67 list->AddAll(dynamic_cast<TList*>(event));
71 // ///___________________________________________________________________________
72 // void AliEveEventBufferHomer::AddToBuffer(TObject * event, ULong64_t eventId ) {
73 // cout << "Add to buffer"<<endl;
75 // fBIndex[kTop] = CalculateNext(fBIndex[kTop]);
76 // TList * list = dynamic_cast<TList*>(fEventBuffer->At(fBIndex[kTop]));
79 // list->AddAll(dynamic_cast<TList*>(event));
80 // fEventId[fBIndex[kTop]] = eventId;
85 ///______________________________________________________________________
86 void AliEveEventBufferHomer::Initialize() {
87 //Add TList pointers to the buffer array
89 //Create TLists in all of buffer
90 for(Int_t i = 0; i < fBufferSize; i++) {
91 TList * list = new TList();
92 list->SetOwner(kTRUE);
93 fEventBuffer->AddAt(list, i);
96 //Create the async list
97 fAsyncList = new TList();
98 fAsyncList->SetOwner(kTRUE);
100 Int_t iResult = fHomer->Initialize();
102 cout << "Error Initializing HOMER!!!"<<endl;
107 fHomer->SetRetryCount(1,15);
108 fHomer->SetBlockOwner(kFALSE);
109 fHomer->StartEveSourceListLoop();
113 ///______________________________________________________________________
114 void AliEveEventBufferHomer::ConnectToSource () {
116 fHomer->SetRetryCount(200, 15);
117 fHomer->ReConnectHOMER();
120 ///_____________________________________________________________________
121 void AliEveEventBufferHomer::WriteToFile(){
123 TFile * file = TFile::Open(Form("Event_0x%016X_ITS.root", 100), "RECREATE");
124 fEventBuffer->At(fBIndex[kTop])->Write("blockList", TObject::kSingleKey);
128 TFile * afile = TFile::Open(Form("Event_0x%016X_Async.root", 100), "RECREATE");
129 fAsyncList->Write("blockList", TObject::kSingleKey);