diff --git a/tree/ntuple/v7/src/RFieldMeta.cxx b/tree/ntuple/v7/src/RFieldMeta.cxx index 7590afcfa4020..2a1a8067cccf8 100644 --- a/tree/ntuple/v7/src/RFieldMeta.cxx +++ b/tree/ntuple/v7/src/RFieldMeta.cxx @@ -185,6 +185,15 @@ ROOT::Experimental::RClassField::RClassField(std::string_view fieldName, TClass void ROOT::Experimental::RClassField::Attach(std::unique_ptr child, RSubFieldInfo info) { + auto *cls = TClass::GetClass(GetTypeName().c_str()); + if(cls) { + TIter memberIter(cls->GetListOfDataMembers()); + TDataMember *dataMember; + while ((dataMember = (TDataMember*)memberIter())) { + std::size_t maxAlign = dataMember->GetUnitSize(); + fMaxAlignment = std::max(fMaxAlignment, maxAlign); + } + } fMaxAlignment = std::max(fMaxAlignment, child->GetAlignment()); fSubFieldsInfo.push_back(info); RFieldBase::Attach(std::move(child));