ROOT
master
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>
28
ABProd
&
operator=
(
const
ABProd<MI1, 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>
55
inline
ABObj<typename AlgebraicProdType<atype, btype>::Type
,
ABProd<ABObj<atype, A, T>
,
ABObj<btype, B, T>
>,
T
>
56
operator*
(
const
ABObj<atype, A, T>
&
a
,
const
ABObj<btype, B, T>
&
b
)
57
{
58
59
return
ABObj<typename AlgebraicProdType<atype, btype>::Type
,
ABProd<ABObj<atype, A, T>
,
ABObj<btype, B, T>
>,
T
>(
60
ABProd<ABObj<atype, A, T>
,
ABObj<btype, B, T>
>(
a
,
b
));
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
math
minuit2
inc
Minuit2
ABProd.h
ROOT master - Reference Guide Generated on Thu Feb 25 2021 12:00:53 (GVA Time) using Doxygen 1.9.0