ROOT
6.14/05
Reference Guide
math
minuit2
inc
Minuit2
ABTypes.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_ABTypes
11
#define ROOT_Minuit2_ABTypes
12
13
namespace
ROOT
{
14
15
namespace
Minuit2 {
16
17
18
class
gen
{};
19
class
sym
{};
20
class
vec
{};
21
22
template
<
class
A,
class
B>
23
class
AlgebraicSumType
{
24
public
:
25
typedef
gen
Type
;
26
};
27
28
template
<
class
T>
29
class
AlgebraicSumType
<
T
,
T
> {
30
public
:
31
typedef
T
Type
;
32
};
33
34
template
< >
35
class
AlgebraicSumType
<
vec
,
gen
> {
36
private
:
37
typedef
gen
Type
;
38
};
39
40
template
< >
41
class
AlgebraicSumType
<
gen
,
vec
> {
42
private
:
43
typedef
gen
Type
;
44
};
45
46
template
< >
47
class
AlgebraicSumType
<
vec
,
sym
> {
48
private
:
49
typedef
gen
Type
;
50
};
51
52
template
< >
53
class
AlgebraicSumType
<
sym
,
vec
> {
54
private
:
55
typedef
gen
Type
;
56
};
57
58
//
59
60
template
<
class
A,
class
B>
61
class
AlgebraicProdType
{
62
private
:
63
typedef
gen
Type
;
64
};
65
66
template
<
class
T>
67
class
AlgebraicProdType
<
T
,
T
> {
68
private
:
69
typedef
T
Type
;
70
};
71
72
template
< >
73
class
AlgebraicProdType
<
gen
,
gen
> {
74
public
:
75
typedef
gen
Type
;
76
};
77
78
template
< >
79
class
AlgebraicProdType
<
sym
,
sym
> {
80
public
:
81
typedef
gen
Type
;
82
};
83
84
template
< >
85
class
AlgebraicProdType
<
sym
,
gen
> {
86
public
:
87
typedef
gen
Type
;
88
};
89
90
template
< >
91
class
AlgebraicProdType
<
gen
,
sym
> {
92
public
:
93
typedef
gen
Type
;
94
};
95
96
template
< >
97
class
AlgebraicProdType
<
vec
,
gen
> {
98
private
:
99
typedef
gen
Type
;
100
};
101
102
template
< >
103
class
AlgebraicProdType
<
gen
,
vec
> {
104
public
:
105
typedef
vec
Type
;
106
};
107
108
template
< >
109
class
AlgebraicProdType
<
vec
,
sym
> {
110
private
:
111
typedef
gen
Type
;
112
};
113
114
template
< >
115
class
AlgebraicProdType
<
sym
,
vec
> {
116
public
:
117
typedef
vec
Type
;
118
};
119
120
121
122
}
// namespace Minuit2
123
124
}
// namespace ROOT
125
126
#endif // ROOT_Minuit2_ABTypes
ROOT
Namespace for new ROOT classes and functions.
Definition:
StringConv.hxx:21
ROOT::Minuit2::AlgebraicProdType< vec, sym >::Type
gen Type
Definition:
ABTypes.h:111
ROOT::Minuit2::AlgebraicProdType< T, T >::Type
T Type
Definition:
ABTypes.h:69
ROOT::Math::Chebyshev::T
double T(double x)
Definition:
ChebyshevPol.h:34
ROOT::Minuit2::AlgebraicProdType< sym, gen >::Type
gen Type
Definition:
ABTypes.h:87
ROOT::Minuit2::AlgebraicProdType< gen, gen >::Type
gen Type
Definition:
ABTypes.h:75
ROOT::Minuit2::AlgebraicProdType< sym, vec >::Type
vec Type
Definition:
ABTypes.h:117
ROOT::Minuit2::AlgebraicProdType< sym, sym >::Type
gen Type
Definition:
ABTypes.h:81
ROOT::Minuit2::sym
Definition:
ABTypes.h:19
ROOT::Minuit2::AlgebraicProdType< vec, gen >::Type
gen Type
Definition:
ABTypes.h:99
ROOT::Minuit2::AlgebraicProdType::Type
gen Type
Definition:
ABTypes.h:63
ROOT::Minuit2::AlgebraicSumType< T, T >::Type
T Type
Definition:
ABTypes.h:31
ROOT::Minuit2::AlgebraicProdType< gen, vec >::Type
vec Type
Definition:
ABTypes.h:105
ROOT::Minuit2::AlgebraicProdType
Definition:
ABTypes.h:61
ROOT::Minuit2::AlgebraicProdType< gen, sym >::Type
gen Type
Definition:
ABTypes.h:93
ROOT::Minuit2::AlgebraicSumType< gen, vec >::Type
gen Type
Definition:
ABTypes.h:43
ROOT::Minuit2::vec
Definition:
ABTypes.h:20
ROOT::Minuit2::AlgebraicSumType::Type
gen Type
Definition:
ABTypes.h:25
ROOT::Minuit2::AlgebraicSumType< vec, sym >::Type
gen Type
Definition:
ABTypes.h:49
ROOT::Minuit2::AlgebraicSumType< vec, gen >::Type
gen Type
Definition:
ABTypes.h:37
ROOT::Minuit2::AlgebraicSumType
Definition:
ABTypes.h:23
ROOT::Minuit2::AlgebraicSumType< sym, vec >::Type
gen Type
Definition:
ABTypes.h:55
ROOT::Minuit2::gen
Definition:
ABTypes.h:18