CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

FunctionProduct.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id: FunctionProduct.cc,v 1.3 2003/09/06 14:04:14 boudreau Exp $
4 #include <assert.h>
5 
6 namespace Genfun {
7 FUNCTION_OBJECT_IMP(FunctionProduct)
8 
10 _arg1(arg1->clone()),
11 _arg2(arg2->clone())
12 {
13  if (arg1->dimensionality()!=arg2->dimensionality()) {
14  std::cout
15  << "Warning: dimension mismatch in function product"
16  << std::endl;
17  assert(0);
18  }
19 }
20 
22  AbsFunction(right),
23  _arg1(right._arg1->clone()),
24  _arg2(right._arg2->clone())
25 {
26 }
27 
29 {
30  delete _arg1;
31  delete _arg2;
32 }
33 
34 
35 unsigned int FunctionProduct::dimensionality() const {
36  return _arg1->dimensionality();
37 }
38 
39 double FunctionProduct::operator ()(double x) const
40 {
41  return (*_arg1)(x)*(*_arg2)(x);
42 }
43 
45 {
46  return (*_arg1)(x)*(*_arg2)(x);
47 }
48 
49 Derivative FunctionProduct::partial(unsigned int index) const {
50  const AbsFunction & fPrime =
51  (*_arg1)*(_arg2->partial(index)) + (_arg1->partial(index))*(*_arg2);
52  return Derivative(&fPrime);
53 }
54 
55 } // namespace Genfun
FunctionProduct.hh
Genfun::FunctionProduct::~FunctionProduct
virtual ~FunctionProduct()
Definition: FunctionProduct.cc:28
Genfun::Derivative
FunctionNoop Derivative
Definition: CLHEP/GenericFunctions/AbsFunction.hh:40
Genfun::AbsFunction
Definition: CLHEP/GenericFunctions/AbsFunction.hh:48
Genfun::FunctionProduct::dimensionality
virtual unsigned int dimensionality() const
Definition: FunctionProduct.cc:35
Genfun::FunctionProduct::operator()
virtual double operator()(double argument) const
Definition: FunctionProduct.cc:39
Genfun::FunctionProduct::FunctionProduct
FunctionProduct(const AbsFunction *arg1, const AbsFunction *arg2)
Definition: FunctionProduct.cc:9
Genfun::AbsFunction::dimensionality
virtual unsigned int dimensionality() const
Definition: AbsFunction.cc:79
Genfun::FunctionProduct
Definition: CLHEP/GenericFunctions/FunctionProduct.hh:19
Genfun::Argument
Definition: CLHEP/GenericFunctions/Argument.hh:17
Genfun::FunctionNoop
Definition: CLHEP/GenericFunctions/FunctionNoop.hh:19
Genfun::AbsFunction::partial
virtual Derivative partial(unsigned int) const
Definition: AbsFunction.cc:40
Genfun::FunctionProduct::partial
Derivative partial(unsigned int) const
Definition: FunctionProduct.cc:49
x
any side effects of that construction would occur twice The semantics of throw x
Definition: whyZMthrowRethrows.txt:37
FUNCTION_OBJECT_IMP
#define FUNCTION_OBJECT_IMP(classname)
Definition: CLHEP/GenericFunctions/AbsFunction.hh:156
Genfun
Definition: CLHEP/GenericFunctions/Abs.hh:14