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));
73 ///______________________________________________________________________
74 void AliEveEventBufferHomer::Initialize() {
75 //Add TList pointers to the buffer array
77 //Create TLists in all of buffer
78 for(Int_t i = 0; i < fBufferSize; i++) {
79 TList * list = new TList();
80 list->SetOwner(kTRUE);
81 fEventBuffer->AddAt(list, i);
84 //Create the async list
85 fAsyncList = new TList();
86 fAsyncList->SetOwner(kTRUE);
88 Int_t iResult = fHomer->Initialize();
90 cout << "Error Initializing HOMER!!!"<<endl;
95 fHomer->SetRetryCount(1,15);
96 fHomer->SetBlockOwner(kFALSE);
97 fHomer->StartEveSourceListLoop();
101 ///______________________________________________________________________
102 void AliEveEventBufferHomer::ConnectToSource () {
104 fHomer->SetRetryCount(200, 15);
105 fHomer->ReConnectHOMER();
108 ///_____________________________________________________________________
109 void AliEveEventBufferHomer::WriteToFile(){
111 TFile * file = TFile::Open(Form("Event_0x%016X_ITS.root", 100), "RECREATE");
112 fEventBuffer->At(fBIndex[kTop])->Write("blockList", TObject::kSingleKey);
116 TFile * afile = TFile::Open(Form("Event_0x%016X_Async.root", 100), "RECREATE");
117 fAsyncList->Write("blockList", TObject::kSingleKey);