CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
AbsFunction.cc
Go to the documentation of this file.
1// -*- C++ -*-
2// $Id: AbsFunction.cc,v 1.4 2007/01/21 20:20:41 boudreau Exp $
3#include "CLHEP/GenericFunctions/AbsFunction.hh"
4#include "CLHEP/GenericFunctions/ConstTimesFunction.hh"
5#include "CLHEP/GenericFunctions/ConstOverFunction.hh"
6#include "CLHEP/GenericFunctions/ConstPlusFunction.hh"
7#include "CLHEP/GenericFunctions/ConstMinusFunction.hh"
8#include "CLHEP/GenericFunctions/FunctionSum.hh"
9#include "CLHEP/GenericFunctions/FunctionDifference.hh"
10#include "CLHEP/GenericFunctions/FunctionProduct.hh"
11#include "CLHEP/GenericFunctions/FunctionQuotient.hh"
12#include "CLHEP/GenericFunctions/FunctionConvolution.hh"
13#include "CLHEP/GenericFunctions/FunctionNegation.hh"
14#include "CLHEP/GenericFunctions/FunctionDirectProduct.hh"
15#include "CLHEP/GenericFunctions/FixedConstant.hh"
16#include "CLHEP/GenericFunctions/FloatingConstant.hh"
17#include "CLHEP/GenericFunctions/FunctionNumDeriv.hh"
18#include "CLHEP/GenericFunctions/Variable.hh"
19#include "CLHEP/GenericFunctions/FunctionNoop.hh"
20#include "CLHEP/GenericFunctions/ParameterComposition.hh"
21#include <assert.h>
22namespace Genfun {
24}
25
27}
28
30}
31
33 return FunctionComposition(this, &function);
34}
35
37 return ParameterComposition(this, &p);
38}
39
40Derivative AbsFunction::partial(unsigned int index) const {
41 FunctionNumDeriv fPrime(this,index);
42 return Derivative(&fPrime);
43}
44
45
47 return partial(v.index());
48}
49
51 assert(dimensionality()==1);
52 return partial(0);
53}
54
56 return FunctionSum(&a,&b);
57}
58
60 return FunctionDifference(&a,&b);
61}
62
64 return FunctionProduct(&a,&b);
65}
66
68 return FunctionQuotient(&a,&b);
69}
70
71FunctionConvolution convolve (const AbsFunction & a, const AbsFunction & b, double x0, double x1) {
72 return FunctionConvolution(&a,&b, x0, x1);
73}
74
76 return FunctionNegation(&a);
77}
78
79unsigned int AbsFunction::dimensionality() const {
80 return 1;
81}
82
84 return FunctionDirectProduct(&a,&b);
85}
86
88 return ConstTimesFunction(c, &op2);
89}
90
92 return ConstPlusFunction(c,&op2);
93}
94
96 return ConstPlusFunction(-c, &op2);
97}
98
100 return ConstTimesFunction(1/c,&op2);
101}
102
103
105 return ConstTimesFunction(c,&op2);
106}
107
109 return ConstPlusFunction(c,&op2);
110}
111
113 return ConstMinusFunction(c,&op2);
114}
115
117 return ConstOverFunction(c,&op2);
118}
119
120
122 return FunctionTimesParameter(&p, &f);
123}
124
126 return FunctionPlusParameter(&p, &f);
127}
128
130 GENPARAMETER MinusP = -p;
131 return FunctionPlusParameter(&MinusP, &f);
132
133}
134
136 GENPARAMETER oneOverP = 1.0/p;
137 return FunctionTimesParameter(&oneOverP, &f);
138}
139
141 return FunctionTimesParameter(&p, &f);
142}
143
145 return FunctionPlusParameter(&p, &f);
146}
147
149 GENFUNCTION MinusF = -f;
150 return FunctionPlusParameter(&p, &MinusF);
151}
152
154 GENFUNCTION oneOverF = 1.0/f;
155 return FunctionTimesParameter(&p, &oneOverF);
156}
157} // namespace Genfun
virtual Derivative partial(unsigned int) const
Definition: AbsFunction.cc:40
virtual unsigned int dimensionality() const
Definition: AbsFunction.cc:79
Derivative derivative(const Variable &v) const
Definition: AbsFunction.cc:46
virtual ~AbsFunction()
Definition: AbsFunction.cc:26
Derivative prime() const
Definition: AbsFunction.cc:50
virtual double operator()(double argument) const =0
unsigned int index() const
Definition: Variable.cc:34
void f(void g())
Definition: excDblThrow.cc:38
Definition: Abs.hh:14
FunctionQuotient operator/(const AbsFunction &op1, const AbsFunction &op2)
Definition: AbsFunction.cc:67
FunctionNoop Derivative
Definition: AbsFunction.hh:42
FunctionDirectProduct operator%(const AbsFunction &op1, const AbsFunction &op2)
Definition: AbsFunction.cc:83
FunctionSum operator+(const AbsFunction &op1, const AbsFunction &op2)
Definition: AbsFunction.cc:55
FunctionProduct operator*(const AbsFunction &op1, const AbsFunction &op2)
Definition: AbsFunction.cc:63
FunctionConvolution convolve(const AbsFunction &op1, const AbsFunction &op2, double x0, double x1)
Definition: AbsFunction.cc:71
FunctionDifference operator-(const AbsFunction &op1, const AbsFunction &op2)
Definition: AbsFunction.cc:59