]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/EveHLT/AliEveEventBufferHomer.cxx
Updated homer buffer to not start source list timer
[u/mrichter/AliRoot.git] / EVE / EveHLT / AliEveEventBufferHomer.cxx
index eacea7c962eb69446d2a237220be769af18ef4a2..2f0478e26e3f3535d42685c7e1c7af78655235ba 100644 (file)
@@ -36,6 +36,10 @@ AliEveEventBufferHomer::~AliEveEventBufferHomer() {
 
 
 
+ULong64_t AliEveEventBufferHomer::GetEventIdFromSource() {
+  ///see header file for documentation
+  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,10 +57,22 @@ TObject * AliEveEventBufferHomer::GetEventFromSource() {
   cout << "AliEveEventBufferHomer::GetEventFromSource() : fHomer is null pointer!!"<<endl;
   return NULL;
 }
+
 ///___________________________________________________________________________
 void AliEveEventBufferHomer::AddToBuffer(TObject * event) {
-  cout << "Add to buffer"<<endl;
-  if(!event) return;
+  cout << "AliEveEventBufferHomer::Add to buffer"<<endl;
+  if(!event) {
+    cout << "event is NULL pointer, return" << endl;
+    return;
+  }
+
+
+  TList * listIn = dynamic_cast<TList*>(event);
+  if(!(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) {
@@ -63,15 +82,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) {
@@ -82,7 +107,7 @@ void AliEveEventBufferHomer::Initialize() {
 
   fHomer->SetRetryCount(1,15);
   fHomer->SetBlockOwner(kFALSE);
-  fHomer->StartEveSourceListLoop();
+  //fHomer->StartEveSourceListLoop();
 }
 
 
@@ -94,15 +119,16 @@ 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-
     afile->Close();
   }
 }