12 #include<Rcpp/Vector.h>
16 const Rcpp::internal::NamedPlaceHolder &Label(Rcpp::_);
22 template<> SEXP wrap(
const TVectorT<Double_t> &v)
24 std::vector<Double_t> vec(v.GetMatrixArray(), v.GetMatrixArray() + v.GetNoElements());
28 template<> TVectorT<Double_t> as(SEXP v)
30 std::vector<Double_t> vec =::Rcpp::as<std::vector<Double_t> >(v);
31 return TVectorT<Double_t>(vec.size(), vec.data());
34 template<> SEXP wrap(
const TVectorT<Float_t> &v)
36 std::vector<Float_t> vec(v.GetMatrixArray(), v.GetMatrixArray() + v.GetNoElements());
40 template<> TVectorT<Float_t> as(SEXP v)
42 std::vector<Float_t> vec =::Rcpp::as<std::vector<Float_t> >(v);
43 return TVectorT<Float_t>(vec.size(), vec.data());
47 template<> SEXP wrap(
const TMatrixT<Double_t> &m)
49 Int_t rows = m.GetNrows();
50 Int_t cols = m.GetNcols();
51 Double_t *data =
new Double_t[rows * cols];
52 m.GetMatrix2Array(data,
"F");
53 NumericMatrix mat(rows, cols, data);
57 template<> TMatrixT<Double_t> as(SEXP m)
59 NumericMatrix mat =::Rcpp::as<NumericMatrix>(m);
60 return TMatrixT<Double_t>(mat.rows(), mat.cols(), mat.begin(),
"F");
63 template<> SEXP wrap(
const TMatrixT<Float_t> &m)
65 Int_t rows = m.GetNrows();
66 Int_t cols = m.GetNcols();
67 Float_t *data =
new Float_t[rows * cols];
68 m.GetMatrix2Array(data,
"F");
69 NumericMatrix mat(rows, cols, data);
73 template<> TMatrixT<Float_t> as(SEXP m)
75 NumericMatrix mat =::Rcpp::as<NumericMatrix>(m);
76 std::vector<Float_t> dat = Rcpp::as<std::vector<Float_t>>(mat);
77 return TMatrixT<Float_t>(mat.rows(), mat.cols(), &dat[0],
"F");
81 template<> SEXP wrap(
const ROOT::R::TRObject &obj)
86 template<> ROOT::R::TRObject as(SEXP obj)
88 return ROOT::R::TRObject(obj);
91 template<> SEXP wrap(
const ROOT::R::TRDataFrame &obj)
96 template<> ROOT::R::TRDataFrame as(SEXP obj)
98 return ROOT::R::TRDataFrame(Rcpp::as<Rcpp::DataFrame>(obj));
102 template<> SEXP wrap(
const ROOT::R::TRFunctionImport &obj)
107 template<> ROOT::R::TRFunctionImport as(SEXP obj)
109 return ROOT::R::TRFunctionImport(Rcpp::as<Rcpp::Function>(obj));
115 VARIABLE_IS_NOT_USED SEXP ModuleSymRef = NULL;