10 #ifndef ROOT_Minuit2_ABProd 11 #define ROOT_Minuit2_ABProd 20 template<
class M1,
class M2>
29 template<
class MI1,
class MI2>
40 template<
class MI1,
class MI2>
43 const M1&
A()
const {
return fA;}
44 const M2&
B()
const {
return fB;}
53 template<
class atype,
class A,
class btype,
class B,
class T>
54 inline ABObj<typename AlgebraicProdType<atype, btype>::Type,
ABProd<ABObj<atype,A,T>,
ABObj<btype,B,T> >,
T>
operator*(
const ABObj<atype,A,T>& a,
const ABObj<btype,B,T>&
b) {
56 return ABObj<typename AlgebraicProdType<atype,btype>::Type, ABProd<ABObj<atype,A,T>, ABObj<btype,B,T> >,
T>(ABProd<ABObj<atype,A,T>, ABObj<btype,B,T> >(a,
b));
63 #endif // ROOT_Minuit2_ABProd Namespace for new ROOT classes and functions.
ABProd(const M1 &a, const M2 &b)
ABObj< mt, M, T > operator*(T f, const M &obj)
ABProd(const ABProd &prod)
ABProd(const ABProd< MI1, MI2 > &prod)
ABProd & operator=(const ABProd< MI1, MI2 > &)
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
ABProd & operator=(const ABProd &)