From b9b564df9c2bbc172231b4702dba1b94633d341a Mon Sep 17 00:00:00 2001
From: Florian Uhlig <f.uhlig@gsi.de>
Date: Tue, 15 Nov 2022 13:23:16 +0100
Subject: [PATCH] Fix deprecated code

With the upcoming FairRoot release the function FillEventHeader of the
FairRootManager is deprecated, so use the function from FairSource directly.
Fixes #2644.
---
 MQ/hitbuilder/CbmDeviceHitBuilderTof.cxx | 11 +++++++++--
 MQ/mcbm/CbmDeviceDigiEventSink.cxx       |  6 +++++-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/MQ/hitbuilder/CbmDeviceHitBuilderTof.cxx b/MQ/hitbuilder/CbmDeviceHitBuilderTof.cxx
index 06824946d8..9279dfdb59 100644
--- a/MQ/hitbuilder/CbmDeviceHitBuilderTof.cxx
+++ b/MQ/hitbuilder/CbmDeviceHitBuilderTof.cxx
@@ -39,6 +39,7 @@
 #include "FairRootManager.h"
 #include "FairRunOnline.h"
 #include "FairRuntimeDb.h"
+#include "FairSource.h"
 
 // ROOT Classes and includes
 #include "TClonesArray.h"
@@ -370,7 +371,10 @@ Bool_t CbmDeviceHitBuilderTof::InitRootOutput()
     fEvtHeader = new FairEventHeader();
     fEvtHeader->SetRunId(iRunId);
     rootMgr->Register("EventHeader.", "Event", fEvtHeader, kTRUE);
-    rootMgr->FillEventHeader(fEvtHeader);
+    auto source = rootMgr->GetSource();
+    if (source) {
+      source->FillEventHeader(fEvtHeader);
+    }
 
     // rootMgr->Register("CbmTofDigi", "Tof raw Digi", fTofCalDigisColl, kTRUE);
     //    fOutRootFile->cd();
@@ -694,7 +698,10 @@ bool CbmDeviceHitBuilderTof::HandleData(FairMQParts& parts, int /*index*/)
 
   if (NULL != fOutRootFile) {  // CbmEvent output to root file
     fEvtHeader->SetEventTime((double) fEventHeader[4]);
-    rootMgr->FillEventHeader(fEvtHeader);
+    auto source = rootMgr->GetSource();
+    if (source) {
+      source->FillEventHeader(fEvtHeader);
+    }
     //LOG(info) << "Fill WriteOutBuffer with rootMgr at " << rootMgr;
     fOutRootFile->cd();
     rootMgr->Fill();
diff --git a/MQ/mcbm/CbmDeviceDigiEventSink.cxx b/MQ/mcbm/CbmDeviceDigiEventSink.cxx
index b54e6f8213..ab09df14e2 100644
--- a/MQ/mcbm/CbmDeviceDigiEventSink.cxx
+++ b/MQ/mcbm/CbmDeviceDigiEventSink.cxx
@@ -26,6 +26,7 @@
 #include "FairRootFileSink.h"
 #include "FairRootManager.h"
 #include "FairRunOnline.h"
+#include "FairSource.h"
 
 #include "BoostSerializer.h"
 
@@ -655,7 +656,10 @@ void CbmDeviceDigiEventSink::DumpTreeEntry()
 */
   /// FairRunOnline style
   fpFairRootMgr->StoreWriteoutBufferData(fpFairRootMgr->GetEventTime());
-  fpFairRootMgr->FillEventHeader(fEvtHeader);
+  auto source = fpFairRootMgr->GetSource();
+  if (source) {
+    source->FillEventHeader(fEvtHeader);
+  }
   fpFairRootMgr->Fill();
   fpFairRootMgr->DeleteOldWriteoutBufferData();
   //  fpFairRootMgr->Write();
-- 
GitLab