/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
PhysicsTools/Utilities/interface/RootFunctionAdapter.h
33 строки
953 B
Andrea Bocci
Apply `clang-tidy` automated code changes
18 май 2020, 13:24
Не верифицирован
18 май 2020, 13:24
46bba42
Код
Авторство
О чём код?
#ifndef PhysicTools_Utilities_RootFunctionAdapter_h #define PhysicTools_Utilities_RootFunctionAdapter_h #include <vector> #include <memory> #include "PhysicsTools/Utilities/interface/RootVarsAdapter.h" namespace root { namespace helper { template <typename F, unsigned int args> struct RootFunctionAdapter { RootFunctionAdapter() : f_(nullptr) {} RootFunctionAdapter(F& f) : f_(&f) {} void addParameter(const std::shared_ptr<double>& par) { pars_.push_back(par); } void setParameters(const double* pars) { for (size_t i = 0; i < pars_.size(); ++i) { *pars_[i] = pars[i]; } } double operator()(const double* var) const { return RootVarsAdapter<F, args>::value(*f_, var); } size_t numberOfParameters() const { return pars_.size(); } private: F* f_; std::vector<std::shared_ptr<double> > pars_; }; } // namespace helper } // namespace root #endif