ROOT
v6-28
Reference Guide
Loading...
Searching...
No Matches
LaProd.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_LaProd
11
#define ROOT_Minuit2_LaProd
12
13
#include "
Minuit2/ABProd.h
"
14
#include "
Minuit2/LAVector.h
"
15
#include "
Minuit2/LASymMatrix.h
"
16
17
namespace
ROOT
{
18
19
namespace
Minuit2 {
20
21
/*
22
LM" remove this for fixing alpha poblem
23
#define OP_MULT1(MT1,MT2,MAT1,MAT2,T) \
24
template<class B> \
25
inline ABObj<AlgebraicProdType<MT1,MT2>::Type,ABProd<ABObj<MT1,MAT1,T>, ABObj<MT2,B,T> >,T> operator*(const
26
ABObj<MT1,MAT1,T>& a, const ABObj<MT2,B,T>& b) { return ABObj<AlgebraicProdType<MT1,MT2>::Type,ABProd<ABObj<MT1,MAT1,T>,
27
ABObj<MT2,B,T> >,T>(ABProd<ABObj<MT1,MAT1,T>, ABObj<MT2,B,T> >(a, b)); } \
28
template<class A> \
29
inline ABObj<AlgebraicProdType<MT1,MT2>::Type,ABProd<ABObj<MT1,A,T>, ABObj<MT2,MAT2,T> >,T> operator*(const
30
ABObj<MT1,A,T>& a, const ABObj<MT2,MAT2,T>& b) { \
31
return ABObj<AlgebraicProdType<MT1,MT2>::Type,ABProd<ABObj<MT1,A,T>, ABObj<MT2,MAT2,T> >,T>(ABProd<ABObj<MT1,A,T>,
32
ABObj<MT2,MAT2,T> >(a, b)); \
33
} \
34
\
35
*/
36
37
#define OP_MULT1(MT1, MT2, MAT1, MAT2, T) \
38
inline ABObj<AlgebraicProdType<MT1, MT2>::Type, ABProd<ABObj<MT1, MAT1, T>, ABObj<MT2, MAT2, T>>, T> operator*( \
39
const ABObj<MT1, MAT1, T> &a, const ABObj<MT2, MAT2, T> &b) \
40
{ \
41
return ABObj<AlgebraicProdType<MT1, MT2>::Type, ABProd<ABObj<MT1, MAT1, T>, ABObj<MT2, MAT2, T>>, T>( \
42
ABProd<ABObj<MT1, MAT1, T>, ABObj<MT2, MAT2, T>>(a, b)); \
43
}
44
45
OP_MULT1
(
sym
,
vec
,
LASymMatrix
,
LAVector
,
double
)
46
// OP_MULT1(sym,gen,LASymMatrix,LAGenMatrix,double)
47
// OP_MULT1(sym,sym,LASymMatrix,LASymMatrix,double)
48
// OP_MULT1(gen,vec,LAGenMatrix,LAVector,double)
49
// OP_MULT1(gen,sym,LAGenMatrix,LASymMatrix,double)
50
// OP_MULT1(gen,gen,LAGenMatrix,LAGenMatrix,double)
51
52
}
// namespace Minuit2
53
54
}
// namespace ROOT
55
56
#endif
// ROOT_Minuit2_LaProd
ABProd.h
LASymMatrix.h
LAVector.h
OP_MULT1
#define OP_MULT1(MT1, MT2, MAT1, MAT2, T)
Definition
LaProd.h:37
ROOT::Minuit2::LASymMatrix
Class describing a symmetric matrix of size n.
Definition
LASymMatrix.h:45
ROOT::Minuit2::LAVector
Definition
LAVector.h:32
ROOT::Minuit2::sym
Definition
ABTypes.h:19
ROOT::Minuit2::vec
Definition
ABTypes.h:21
ROOT
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
Definition
EExecutionPolicy.hxx:4
math
minuit2
inc
Minuit2
LaProd.h
ROOT v6-28 - Reference Guide Generated on Thu Oct 24 2024 01:49:37 (GVA Time) using Doxygen 1.9.8