1 #ifndef MELANCSPLINEFACTORY_3D
2 #define MELANCSPLINEFACTORY_3D
31 const std::vector<splineQuadruplet_t>
getPoints(
const std::vector<MELANCSplineCore::T>& XList,
const std::vector<MELANCSplineCore::T>& YList,
const std::vector<MELANCSplineCore::T>& ZList,
const std::vector<MELANCSplineCore::T>& FcnList);
34 void initPDF(
const std::vector<splineQuadruplet_t>& pList);
40 RooAbsReal& XVar_, RooAbsReal& YVar_, RooAbsReal& ZVar_, TString appendName_=
"",
56 const unsigned int direction
61 template<
typename inType>
void setPoints(
const std::vector<inType>& XList,
const std::vector<inType>& YList,
const std::vector<inType>& ZList,
const std::vector<inType>& FcnList){
62 std::vector<MELANCSplineCore::T> transXList;
63 std::vector<MELANCSplineCore::T> transYList;
64 std::vector<MELANCSplineCore::T> transZList;
65 std::vector<MELANCSplineCore::T> transFcnList;
66 for (
unsigned int ip=0; ip<XList.size(); ip++) transXList.push_back((
MELANCSplineCore::T)XList.at(ip));
67 for (
unsigned int ip=0; ip<YList.size(); ip++) transYList.push_back((
MELANCSplineCore::T)YList.at(ip));
68 for (
unsigned int ip=0; ip<ZList.size(); ip++) transZList.push_back((
MELANCSplineCore::T)ZList.at(ip));
69 for (
unsigned int ip=0; ip<FcnList.size(); ip++) transFcnList.push_back((
MELANCSplineCore::T)FcnList.at(ip));
70 const std::vector<splineQuadruplet_t> pList =
getPoints(transXList, transYList, transZList, transFcnList);
76 template void MELANCSplineFactory_3D::setPoints<Float_t>(
const std::vector<Float_t>& XList,
const std::vector<Float_t>& YList,
const std::vector<Float_t>& ZList,
const std::vector<Float_t>& FcnList);
77 template void MELANCSplineFactory_3D::setPoints<Double_t>(
const std::vector<Double_t>& XList,
const std::vector<Double_t>& YList,
const std::vector<Double_t>& ZList,
const std::vector<Double_t>& FcnList);