Go to the documentation of this file.
14 #include <fmt/format.h>
21 {
"char",
"B" }, {
"unsigned char",
"b" }, {
"short",
"S" }, {
"unsigned short",
"s" },
22 {
"int",
"I" }, {
"unsigned int",
"i" }, {
"float",
"F" }, {
"double",
"D" },
23 {
"long long",
"L" }, {
"unsigned long long",
"l" }, {
"long",
"G" }, {
"unsigned long",
"g" },
27 auto getLeafListForType(
const std::string_view&
typeName ) {
38 : m_className( className ), m_branchName( branchName ), m_location(
location ), m_algRef( algRef ) {
39 auto leafListTag = getLeafListForType(
m_className );
40 if ( !leafListTag.empty() ) {
44 setBranchAddress = []( gsl::not_null<TBranch*> br,
const void** wrappedDataPtr ) {
45 br->SetAddress(
const_cast<void*
>( *wrappedDataPtr ) );
51 setBranchAddress = []( gsl::not_null<TBranch*> br,
const void** wrappedDataPtr ) {
52 br->SetAddress( wrappedDataPtr );
const std::string & name() const override
The identifying name of the algorithm object.
AnyDataWrapperBase * baseWrapper
std::string getClassName() const
void setBranchData(const gsl::not_null< DataObject * > pObj)
std::string getLocation() const
void const * m_dataBuffer
Base class from which all concrete algorithm classes should be derived.
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
virtual Ptr payload() const =0
void setDataPtr(void const *dataPtr)
const Gaudi::Algorithm & m_algRef
std::string typeName(const std::type_info &typ)
BranchWrapper(const gsl::not_null< TTree * > tree, const std::string &className, const std::string &branchName, const std::string &location, const Gaudi::Algorithm &algRef)
constexpr static const auto FAILURE
void(* setBranchAddress)(gsl::not_null< TBranch * >, const void **)