ROOT
6.18/05
Reference Guide
math
minuit2
inc
Minuit2
MatrixInverse.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_MatrixInverse
11
#define ROOT_Minuit2_MatrixInverse
12
13
#include "
Minuit2/ABTypes.h
"
14
#include "
Minuit2/ABObj.h
"
15
16
namespace
ROOT
{
17
18
namespace
Minuit2 {
19
20
21
template
<
class
mtype,
class
M,
class
T>
22
class
MatrixInverse
{
23
24
public
:
25
26
MatrixInverse
(
const
M& obj) :
fObject
(obj) {}
27
28
~MatrixInverse
() {}
29
30
typedef
mtype
Type
;
31
32
const
M&
Obj
()
const
{
return
fObject
;}
33
34
private
:
35
36
M
fObject
;
37
};
38
39
template
<
class
M,
class
T>
40
class
MatrixInverse
<
vec
, M,
T
> {
41
42
private
:
43
44
MatrixInverse
(
const
M& obj) :
fObject
(obj) {}
45
46
public
:
47
48
~MatrixInverse
() {}
49
50
typedef
vec
Type
;
51
52
const
M&
Obj
()
const
{
return
fObject
;}
53
54
private
:
55
56
M
fObject
;
57
};
58
59
template
<
class
mt,
class
M,
class
T>
60
inline
ABObj<mt, MatrixInverse<mt, ABObj<mt, M, T>
,
T
>,
T
>
Inverse
(
const
ABObj<mt, M, T>
& obj) {
61
return
ABObj<mt, MatrixInverse<mt, ABObj<mt, M, T>
,
T
>,
T
>(
MatrixInverse<mt, ABObj<mt, M, T>
,
T
>(obj));
62
}
63
64
}
// namespace Minuit2
65
66
}
// namespace ROOT
67
68
#endif
// ROOT_Minuit2_MatrixInverse
ABObj.h
ABTypes.h
ROOT::Minuit2::ABObj
Definition:
ABObj.h:21
ROOT::Minuit2::MatrixInverse< vec, M, T >::MatrixInverse
MatrixInverse(const M &obj)
Definition:
MatrixInverse.h:44
ROOT::Minuit2::MatrixInverse< vec, M, T >::~MatrixInverse
~MatrixInverse()
Definition:
MatrixInverse.h:48
ROOT::Minuit2::MatrixInverse< vec, M, T >::Obj
const M & Obj() const
Definition:
MatrixInverse.h:52
ROOT::Minuit2::MatrixInverse< vec, M, T >::Type
vec Type
Definition:
MatrixInverse.h:50
ROOT::Minuit2::MatrixInverse< vec, M, T >::fObject
M fObject
Definition:
MatrixInverse.h:56
ROOT::Minuit2::MatrixInverse
Definition:
MatrixInverse.h:22
ROOT::Minuit2::MatrixInverse::~MatrixInverse
~MatrixInverse()
Definition:
MatrixInverse.h:28
ROOT::Minuit2::MatrixInverse::fObject
M fObject
Definition:
MatrixInverse.h:36
ROOT::Minuit2::MatrixInverse::Type
mtype Type
Definition:
MatrixInverse.h:30
ROOT::Minuit2::MatrixInverse::MatrixInverse
MatrixInverse(const M &obj)
Definition:
MatrixInverse.h:26
ROOT::Minuit2::MatrixInverse::Obj
const M & Obj() const
Definition:
MatrixInverse.h:32
ROOT::Minuit2::vec
Definition:
ABTypes.h:20
ROOT::Math::Chebyshev::T
double T(double x)
Definition:
ChebyshevPol.h:34
ROOT::Minuit2::Inverse
ABObj< sym, MatrixInverse< sym, ABObj< sym, LASymMatrix, double >, double >, double > Inverse(const ABObj< sym, LASymMatrix, double > &obj)
LAPACK Algebra functions specialize the Invert function for LASymMatrix.
Definition:
LaInverse.h:27
ROOT
Namespace for new ROOT classes and functions.
Definition:
StringConv.hxx:21