Logo ROOT  
Reference Guide
ABProd.h
Go to the documentation of this file.
1 // @(#)root/minuit2:$Id$
2 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005
3 
4 /**********************************************************************
5  * *
6  * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT *
7  * *
8  **********************************************************************/
9 
10 #ifndef ROOT_Minuit2_ABProd
11 #define ROOT_Minuit2_ABProd
12 
13 #include "Minuit2/ABObj.h"
14 
15 namespace ROOT {
16 
17 namespace Minuit2 {
18 
19 template <class M1, class M2>
20 class ABProd {
21 
22 private:
23  ABProd() : fA(M1()), fB(M2()) {}
24 
25  ABProd &operator=(const ABProd &) { return *this; }
26 
27  template <class MI1, class MI2>
29  {
30  return *this;
31  }
32 
33 public:
34  ABProd(const M1 &a, const M2 &b) : fA(a), fB(b) {}
35 
36  ~ABProd() {}
37 
38  ABProd(const ABProd &prod) : fA(prod.fA), fB(prod.fB) {}
39 
40  template <class MI1, class MI2>
41  ABProd(const ABProd<MI1, MI2> &prod) : fA(M1(prod.A())), fB(M2(prod.B()))
42  {
43  }
44 
45  const M1 &A() const { return fA; }
46  const M2 &B() const { return fB; }
47 
48 private:
49  M1 fA;
50  M2 fB;
51 };
52 
53 // ABObj * ABObj
54 template <class atype, class A, class btype, class B, class T>
57 {
58 
61 }
62 
63 } // namespace Minuit2
64 
65 } // namespace ROOT
66 
67 #endif // ROOT_Minuit2_ABProd
ROOT::Minuit2::operator*
ABObj< mt, M, T > operator*(T f, const M &obj)
Definition: ABObj.h:135
ROOT::Minuit2::ABObj
Definition: ABObj.h:20
ROOT::Minuit2::ABProd::ABProd
ABProd(const ABProd< MI1, MI2 > &prod)
Definition: ABProd.h:41
ROOT::Minuit2::ABProd::~ABProd
~ABProd()
Definition: ABProd.h:36
ROOT::Minuit2::ABProd::A
const M1 & A() const
Definition: ABProd.h:45
ROOT::Minuit2::ABProd::ABProd
ABProd(const ABProd &prod)
Definition: ABProd.h:38
ROOT::Minuit2::ABProd::B
const M2 & B() const
Definition: ABProd.h:46
b
#define b(i)
Definition: RSha256.hxx:100
ROOT::Minuit2::ABProd::fA
M1 fA
Definition: ABProd.h:49
a
auto * a
Definition: textangle.C:12
ABObj.h
ROOT::Minuit2::ABProd
Definition: ABProd.h:20
ROOT::Minuit2::ABProd::operator=
ABProd & operator=(const ABProd &)
Definition: ABProd.h:25
ROOT::Minuit2::ABProd::operator=
ABProd & operator=(const ABProd< MI1, MI2 > &)
Definition: ABProd.h:28
ROOT::Minuit2::ABProd::ABProd
ABProd()
Definition: ABProd.h:23
ROOT::Minuit2::ABProd::ABProd
ABProd(const M1 &a, const M2 &b)
Definition: ABProd.h:34
ROOT::Math::Chebyshev::T
double T(double x)
Definition: ChebyshevPol.h:34
ROOT::Minuit2::ABProd::fB
M2 fB
Definition: ABProd.h:50
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition: EExecutionPolicy.hxx:4