bugfix
[u/mrichter/AliRoot.git] / EVE / EveHLT / AliEveEventBufferHomer.cxx
index eacea7c962eb69446d2a237220be769af18ef4a2..462983047e35e2fa94e2e4584169a0addda52766 100644 (file)
@@ -36,6 +36,10 @@ AliEveEventBufferHomer::~AliEveEventBufferHomer() {
 
 
 
+ULong64_t AliEveEventBufferHomer::GetEventIdFromSource() {
+  ///
+  return fHomer->GetEventID();
+}
 
 ///______________________________________________________________________
 TObject * AliEveEventBufferHomer::GetEventFromSource() {
@@ -43,6 +47,9 @@ 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;
   } 
@@ -50,6 +57,7 @@ TObject * AliEveEventBufferHomer::GetEventFromSource() {
   cout << "AliEveEventBufferHomer::GetEventFromSource() : fHomer is null pointer!!"<<endl;
   return NULL;
 }
+
 ///___________________________________________________________________________
 void AliEveEventBufferHomer::AddToBuffer(TObject * event) {
   cout << "Add to buffer"<<endl;
@@ -63,15 +71,21 @@ void AliEveEventBufferHomer::AddToBuffer(TObject * event) {
 }
 
 
+
 ///______________________________________________________________________
 void AliEveEventBufferHomer::Initialize() {
   //Add TList pointers to the buffer array
+
+  //Create TLists in all of buffer
   for(Int_t i = 0; i < fBufferSize; i++) {
     TList * list = new TList();
     list->SetOwner(kTRUE);
     fEventBuffer->AddAt(list, i);
   }
 
+  //Create the async list
+  fAsyncList = new TList();
+  fAsyncList->SetOwner(kTRUE);
 
   Int_t iResult = fHomer->Initialize();
   if(iResult) {
@@ -94,14 +108,14 @@ void AliEveEventBufferHomer::ConnectToSource () {
 }
 
 ///_____________________________________________________________________
-void AliEveEventBufferHomer::WriteToFile(){
+void AliEveEventBufferHomer::WriteToFile(Int_t runnumber){
 
-  TFile * file = TFile::Open(Form("Event_0x%016X_ITS.root", 100), "RECREATE"); 
-  fEventBuffer->At(fBIndex[kTop])->Write("blockList", TObject::kSingleKey);
+  TFile * file = TFile::Open(Form("%d_0x%016X_ESD.root", runnumber, GetEventId()), "RECREATE"); 
+  fEventBuffer->At(fBIndex[kCurrent])->Write("blockList", TObject::kSingleKey);
   file->Close();
   
   if(fAsyncList) {
-    TFile * afile = TFile::Open(Form("Event_0x%016X_Async.root", 100), "RECREATE"); 
+    TFile * afile = TFile::Open(Form("%d_0x%016X_Async.root",  runnumber, GetEventId()), "RECREATE"); 
     fAsyncList->Write("blockList", TObject::kSingleKey);
     afile->Close();
   }