When adding a std::map< int, std::pair< int, const TGeoNode * > > as TBranch of a TTree we get the error message: Warning in <TStreamerInfo::Build>: pair<int,pair<int,const TGeoNode*> >: pair<int,const TGeoNode*> has no streamer or dictionary, data member "second" will not be saved
So presumably I have somehow get a streamer for a TGeoNode included. How do I do that. I tried adding
#pragma link C++ class TGeoNode+;
to the linkdef file but it didn’t help. I also tried
#pragma link C++ class std::pair<int, TGeoNode>+;
but that fails with the message
Warning: Unused class rule: std::pair<int, TGeoNode>
Well, to be on the “safe side”, I would add three lines (even if some are “redundant”):
#pragma link C++ class TGeoNode+;
#pragma link C++ class std::pair<int, const TGeoNode*>+;
#pragma link C++ class std::map<int, std::pair<int, const TGeoNode*> >+;