1 #ifndef PhysicsTools_Utilities_rootFunction_h 2 #define PhysicsTools_Utilities_rootFunction_h 6 template<
unsigned int args,
typename Tag,
typename F>
12 template<
unsigned int args,
typename F>
15 return function_t<args, helper::null_t>(
f);
18 template<
unsigned int args,
typename Tag,
typename F>
28 template<
unsigned int args,
typename F>
32 return function_t<args, helper::null_t>(
f, p0);
35 template<
unsigned int args,
typename Tag,
typename F>
47 template<
unsigned int args,
typename F>
55 template<
unsigned int args,
typename Tag,
typename F>
69 template<
unsigned int args,
typename F>
78 template<
unsigned int args,
typename Tag,
typename F>
94 template<
unsigned int args,
typename F>
104 template<
unsigned int args,
typename Tag,
typename F>
122 template<
unsigned int args,
typename F>
133 template<
unsigned int args,
typename Tag,
typename F>
153 template<
unsigned int args,
typename F>
165 template<
unsigned int args,
typename Tag,
typename F>
187 template<
unsigned int args,
typename F>
200 template<
unsigned int args,
typename Tag,
typename F>
224 template<
unsigned int args,
typename F>
238 template<
unsigned int args,
typename Tag,
typename F>
264 template<
unsigned int args,
typename F>
276 return function<args, helper::null_t>(
f, p0,
p1,
p2,
p3,
p4, p5, p6, p7, p8);
279 template<
unsigned int args,
typename Tag,
typename F>
307 template<
unsigned int args,
typename F>
320 return function<args, helper::null_t>(
f, p0,
p1,
p2,
p3,
p4, p5, p6, p7, p8, p9);
323 template<
unsigned int args,
typename Tag,
typename F>
353 template<
unsigned int args,
typename F>
367 return function<args, helper::null_t>(
f, p0,
p1,
p2,
p3,
p4, p5, p6, p7, p8, p9, p10);
370 template<
unsigned int args,
typename Tag,
typename F>
402 template<
unsigned int args,
typename F>
417 return function<args, helper::null_t>(
f, p0,
p1,
p2,
p3,
p4, p5, p6, p7, p8, p9, p10, p11);
420 template<
unsigned int args,
typename Tag,
typename F>
454 template<
unsigned int args,
typename F>
470 return function<args, helper::null_t>(
f, p0,
p1,
p2,
p3,
p4, p5, p6, p7, p8, p9, p10, p11, p12);
473 template<
unsigned int args,
typename Tag,
typename F>
509 template<
unsigned int args,
typename F>
526 return function<args, helper::null_t>(
f, p0,
p1,
p2,
p3,
p4, p5, p6, p7, p8, p9, p10, p11, p12, p13);
529 template<
unsigned int args,
typename Tag,
typename F>
567 template<
unsigned int args,
typename F>
585 return function<args, helper::null_t>(
f, p0,
p1,
p2,
p3,
p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
588 template<
unsigned int args,
typename Tag,
typename F>
628 template<
unsigned int args,
typename F>
647 return function<args, helper::null_t>(
f, p0,
p1,
p2,
p3,
p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15);
650 template<
unsigned int args,
typename Tag,
typename F>
692 template<
unsigned int args,
typename F>
712 return function<args, helper::null_t>(
f, p0,
p1,
p2,
p3,
p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16);
715 template<
unsigned int args,
typename Tag,
typename F>
759 template<
unsigned int args,
typename F>
780 return function<args, helper::null_t>(
f, p0,
p1,
p2,
p3,
p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17);
783 template<
unsigned int args,
typename Tag,
typename F>
829 template<
unsigned int args,
typename F>
851 return function<args, helper::null_t>(
f, p0,
p1,
p2,
p3,
p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18);
854 template<
unsigned int args,
typename Tag,
typename F>
902 template<
unsigned int args,
typename F>
925 return function<args, helper::null_t>(
f, p0,
p1,
p2,
p3,
p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19);
928 template<
unsigned int args,
typename Tag,
typename F>
933 std::vector<funct::Parameter>::const_iterator
i,
934 b = pars.begin(),
e = pars.end();
935 for(i = b; i !=
e; ++
i)
940 template<
unsigned int args,
typename F>
942 function(
F&
f,
const std::vector<funct::Parameter> & pars) {
943 return function_t<args, helper::null_t>(
f, pars);
946 template<
unsigned int args,
typename Tag,
typename F>
948 function_t(
F& f,
const std::vector<boost::shared_ptr<double> > & pars) {
951 std::vector<boost::shared_ptr<double> >::const_iterator
i,
952 b = pars.begin(),
e = pars.end();
953 for(i = b; i !=
e; ++
i)
958 template<
unsigned int args,
typename F>
960 function(
F&
f,
const std::vector<boost::shared_ptr<double> > & pars) {
961 return function_t<args, helper::null_t>(
f, pars);
double(* root_function)(const double *, const double *)
helper::RootFunctionHelper< F, args, Tag >::root_function function_t(F &f)
static void addParameter(const boost::shared_ptr< double > &par)
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
static root_function fun(F &f)