Skip to content

Commit 923eb51

Browse files
committed
TPC: fix PadFlags custom streamer registration with newer ROOT versions
1 parent c132242 commit 923eb51

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

Detectors/TPC/base/src/TPCFlagsMemberCustomStreamer.cxx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@
1212
#include "TPCBase/CalArray.h"
1313
#include <TMemberStreamer.h>
1414
#include <TBuffer.h>
15+
#include <TClass.h>
16+
#include <TError.h>
1517
#include <DataFormatsTPC/Defs.h>
1618
#include <iostream>
19+
#include <cstdlib>
1720

1821
// to enable assert statements
1922
#ifdef NDEBUG
@@ -72,7 +75,15 @@ namespace ROOT
7275
static __attribute__((used)) int _R__dummyStreamer_3 =
7376
([]() {
7477
if (!getenv("TPC_PADFLAGS_STREAMER_OFF")) {
75-
ROOT::GenerateInitInstance((o2::tpc::CalArray<o2::tpc::PadFlags> *)nullptr)->AdoptMemberStreamer("mData", new TMemberStreamer(MemberVectorPadFlagsStreamer));
78+
auto cl = TClass::GetClass<o2::tpc::CalArray<o2::tpc::PadFlags>>();
79+
80+
if (!cl) {
81+
Fatal("TPCFlagsMemberCustomStreamer",
82+
"could not find TClass for o2::tpc::CalArray<o2::tpc::PadFlags>; "
83+
"PadFlags member streamer was not registered");
84+
}
85+
86+
cl->AdoptMemberStreamer("mData", new TMemberStreamer(MemberVectorPadFlagsStreamer));
7687
}
7788
return 0;
7889
})();

0 commit comments

Comments
 (0)