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

Exponential.cc
Go to the documentation of this file.
1// -*- C++ -*-
2// $Id: Exponential.cc,v 1.4 2003/10/10 17:40:39 garren Exp $
4#include <assert.h>
5#include <cmath> // for exp()
6
7namespace Genfun {
8FUNCTION_OBJECT_IMP(Exponential)
9
11 _decayConstant("Decay Constant", 1.0, 0,10)
12{}
13
15 AbsFunction(right),
16 _decayConstant(right._decayConstant)
17{
18}
19
22
23double Exponential::operator() (double x) const {
24 if (x<0) return 0;
25 return exp(-x/_decayConstant.getValue())/_decayConstant.getValue();
26}
27
29 return _decayConstant;
30}
31
33 return _decayConstant;
34}
35
36
37Derivative Exponential::partial(unsigned int index) const {
38 assert(index==0);
39 const AbsFunction & fPrime = -_decayConstant*(*this);
40 return Derivative(&fPrime);
41}
42
43
44} // namespace Genfun
#define FUNCTION_OBJECT_IMP(classname)
virtual double operator()(double argument) const
Parameter & decayConstant()
Derivative partial(unsigned int) const
virtual double getValue() const
Definition Parameter.cc:27