34RFriendInfo::RFriendInfo(std::vector<std::pair<std::string, std::string>> friendNames,
 
   35                         std::vector<std::vector<std::string>> friendFileNames,
 
   36                         std::vector<std::vector<std::string>> friendChainSubNames,
 
   37                         std::vector<std::vector<std::int64_t>> nEntriesPerTreePerFriend,
 
   38                         std::vector<std::unique_ptr<TVirtualIndex>> treeIndexInfos)
 
   39   : fFriendNames(std::move(friendNames)),
 
   40     fFriendFileNames(std::move(friendFileNames)),
 
   41     fFriendChainSubNames(std::move(friendChainSubNames)),
 
   42     fNEntriesPerTreePerFriend(std::move(nEntriesPerTreePerFriend)),
 
   43     fTreeIndexInfos(std::move(treeIndexInfos))
 
   55void RFriendInfo::AddFriend(
const std::string &treeName, 
const std::string &fileNameGlob, 
const std::string &alias,
 
   58   fFriendNames.emplace_back(std::make_pair(treeName, alias));
 
   73void RFriendInfo::AddFriend(
const std::string &treeName, 
const std::vector<std::string> &fileNameGlobs,
 
   74                            const std::string &alias, 
const std::vector<std::int64_t> &nEntriesVec,
 
   77   fFriendNames.emplace_back(std::make_pair(treeName, alias));
 
   81      nEntriesVec.empty() ? std::vector<int64_t>(fileNameGlobs.size(), std::numeric_limits<std::int64_t>::max())
 
   93void RFriendInfo::AddFriend(
const std::vector<std::pair<std::string, std::string>> &treeAndFileNameGlobs,
 
   94                            const std::string &alias, 
const std::vector<std::int64_t> &nEntriesVec,
 
  104   auto nPairs = treeAndFileNameGlobs.size();
 
  105   theseFileNames.reserve(nPairs);
 
  106   theseChainSubNames.reserve(nPairs);
 
  108   auto fSubNamesIt = std::back_inserter(theseChainSubNames);
 
  109   auto fNamesIt = std::back_inserter(theseFileNames);
 
  111   for (
const auto &names : treeAndFileNameGlobs) {
 
  112      *fSubNamesIt = names.first;
 
  113      *fNamesIt = names.second;
 
  116      nEntriesVec.empty() ? std::vector<int64_t>(treeAndFileNameGlobs.size(), std::numeric_limits<std::int64_t>::max())
 
TObject * Clone(const char *newname="") const override
Make a clone of an object using the Streamer facility.
Abstract interface for Tree Index.
Different standalone functions to work with trees and tuples, not reqiuired to be a member of any cla...
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
Information about friend trees of a certain TTree or TChain object.
std::vector< std::pair< std::string, std::string > > fFriendNames
Pairs of names and aliases of each friend tree/chain.
std::vector< std::vector< std::int64_t > > fNEntriesPerTreePerFriend
Number of entries contained in each tree of each friend.
std::vector< std::vector< std::string > > fFriendChainSubNames
Names of the subtrees of a friend TChain.
std::vector< std::unique_ptr< TVirtualIndex > > fTreeIndexInfos
Information on the friend's TTreeIndexes.
std::vector< std::vector< std::string > > fFriendFileNames
Names of the files where each friend is stored.