Logo ROOT   6.18/05
Reference Guide
ABSum.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_ABSum
11#define ROOT_Minuit2_ABSum
12
13#include "Minuit2/ABObj.h"
14
15namespace ROOT {
16
17 namespace Minuit2 {
18
19
20template<class M1, class M2>
21class ABSum {
22
23private:
24
25 ABSum() : fA(M1()), fB(M2()) {}
26
27 ABSum& operator=(const ABSum&) {return *this;}
28
29 template<class MI1, class MI2>
30 ABSum& operator=(const ABSum<MI1,MI2>&) {return *this;}
31
32public:
33
34 ABSum(const M1& a, const M2& b): fA(a), fB(b) {}
35
36 ~ABSum() {}
37
38 ABSum(const ABSum& sum) : fA(sum.fA), fB(sum.fB) {}
39
40 template<class MI1, class MI2>
41 ABSum(const ABSum<MI1,MI2>& sum) : fA(M1(sum.A() )), fB(M2(sum.B() )) {}
42
43 const M1& A() const {return fA;}
44 const M2& B() const {return fB;}
45
46private:
47
48 M1 fA;
49 M2 fB;
50};
51
52// ABObj + ABObj
53template<class atype, class A, class btype, class B, class T>
55
57}
58
59// ABObj - ABObj
60template<class atype, class A, class btype, class B, class T>
62
64}
65
66 } // namespace Minuit2
67
68} // namespace ROOT
69
70#endif // ROOT_Minuit2_ABSum
#define b(i)
Definition: RSha256.hxx:100
const M1 & A() const
Definition: ABSum.h:43
ABSum(const ABSum< MI1, MI2 > &sum)
Definition: ABSum.h:41
const M2 & B() const
Definition: ABSum.h:44
ABSum & operator=(const ABSum< MI1, MI2 > &)
Definition: ABSum.h:30
ABSum & operator=(const ABSum &)
Definition: ABSum.h:27
ABSum(const M1 &a, const M2 &b)
Definition: ABSum.h:34
ABSum(const ABSum &sum)
Definition: ABSum.h:38
double T(double x)
Definition: ChebyshevPol.h:34
ABObj< typename AlgebraicSumType< atype, btype >::Type, ABSum< ABObj< atype, A, T >, ABObj< btype, B, T > >, T > operator+(const ABObj< atype, A, T > &a, const ABObj< btype, B, T > &b)
Definition: ABSum.h:54
ABObj< mt, M, T > operator-(const M &obj)
Definition: ABObj.h:152
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
auto * a
Definition: textangle.C:12
static long int sum(long int i)
Definition: Factory.cxx:2258