Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:10:44

0001 // Author: Enrico Guiraud, Danilo Piparo CERN  02/2018
0002 
0003 /*************************************************************************
0004  * Copyright (C) 1995-2018, Rene Brun and Fons Rademakers.               *
0005  * All rights reserved.                                                  *
0006  *                                                                       *
0007  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0008  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0009  *************************************************************************/
0010 
0011 #ifndef ROOT_RLAZYDS
0012 #define ROOT_RLAZYDS
0013 
0014 #include "ROOT/RDF/RLazyDSImpl.hxx"
0015 #include "ROOT/RDataFrame.hxx"
0016 
0017 #include <memory>
0018 
0019 namespace ROOT {
0020 
0021 namespace RDF {
0022 
0023 // clang-format off
0024 ////////////////////////////////////////////////////////////////////////////////////////////////
0025 /// \brief Factory method to create a Lazy RDataFrame.
0026 /// \param[in] colNameProxyPairs the series of pairs to describe the columns of the data source, first element of the pair is the name of the column and the second is the RResultPtr to the column in the parent data frame.
0027 // clang-format on
0028 template <typename... ColumnTypes>
0029 RDataFrame MakeLazyDataFrame(std::pair<std::string, RResultPtr<std::vector<ColumnTypes>>> &&... colNameProxyPairs)
0030 {
0031    RDataFrame tdf(std::make_unique<RLazyDS<ColumnTypes...>>(
0032       std::forward<std::pair<std::string, RResultPtr<std::vector<ColumnTypes>>>>(colNameProxyPairs)...));
0033    return tdf;
0034 }
0035 
0036 } // ns RDF
0037 
0038 } // ns ROOT
0039 
0040 #endif