CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
VoigtProfile.hh
Go to the documentation of this file.
1// -*- C++ -*-
2// $Id:
3//---------------------VoigtProfile----------------------------------------//
4// //
5// //
6// Joe Boudreau, June 2011 //
7// //
8//--------------------------------------------------------------------------//
9#ifndef VoigtProfile_h
10#define VoigtProfile_h 1
11#include "CLHEP/GenericFunctions/AbsFunction.hh"
12#include "CLHEP/GenericFunctions/Parameter.hh"
13#include "CLHEP/GenericFunctions/IncompleteGamma.hh"
14namespace Genfun {
15
16 /**
17 * @author
18 * @ingroup genfun
19 */
20 class VoigtProfile : public AbsFunction {
21
23
24 public:
25
26 // Constructor
28
29 // Copy constructor
30 VoigtProfile(const VoigtProfile &right);
31
32 // Destructor
33 virtual ~VoigtProfile();
34
35 // Retreive function value
36 virtual double operator ()(double argument) const override;
37 virtual double operator ()(const Argument & a) const override {return operator() (a[0]);}
38
39 // Get the paramter alpha
40 Parameter & mass();
41
42 // Get the parameter beta
43 Parameter & width();
44
45 // Get the parameter beta
46 Parameter & sigma();
47
48
49 private:
50
51 // It is illegal to assign an adjustable constant
52 const VoigtProfile & operator=(const VoigtProfile &right);
53
54 // Here are the two parameters alpha and beta:
55
56 Parameter _mass;
57 Parameter _width;
58 Parameter _sigma;
59
60
61 };
62} // namespace Genfun
63#endif
#define FUNCTION_OBJECT_DEF(classname)
Definition: AbsFunction.hh:143
Parameter & sigma()
Parameter & mass()
Parameter & width()
virtual double operator()(double argument) const override
Definition: Abs.hh:14