1 #ifndef MELANCSPLINEFACTORY_2D
2 #define MELANCSPLINEFACTORY_2D
28 const std::vector<splineTriplet_t>
getPoints(
const std::vector<MELANCSplineCore::T>& XList,
const std::vector<MELANCSplineCore::T>& YList,
const std::vector<MELANCSplineCore::T>& FcnList);
31 void initPDF(
const std::vector<splineTriplet_t>& pList);
37 RooAbsReal& XVar_, RooAbsReal& YVar_, TString appendName_=
"",
51 const unsigned int direction
56 template<
typename inType>
void setPoints(
const std::vector<inType>& XList,
const std::vector<inType>& YList,
const std::vector<inType>& FcnList){
57 std::vector<MELANCSplineCore::T> transXList;
58 std::vector<MELANCSplineCore::T> transYList;
59 std::vector<MELANCSplineCore::T> transFcnList;
60 for (
unsigned int ip=0; ip<XList.size(); ip++) transXList.push_back((
MELANCSplineCore::T)XList.at(ip));
61 for (
unsigned int ip=0; ip<YList.size(); ip++) transYList.push_back((
MELANCSplineCore::T)YList.at(ip));
62 for (
unsigned int ip=0; ip<FcnList.size(); ip++) transFcnList.push_back((
MELANCSplineCore::T)FcnList.at(ip));
63 const std::vector<splineTriplet_t> pList =
getPoints(transXList, transYList, transFcnList);
69 template void MELANCSplineFactory_2D::setPoints<Float_t>(
const std::vector<Float_t>& XList,
const std::vector<Float_t>& YList,
const std::vector<Float_t>& FcnList);
70 template void MELANCSplineFactory_2D::setPoints<Double_t>(
const std::vector<Double_t>& XList,
const std::vector<Double_t>& YList,
const std::vector<Double_t>& FcnList);