CMS 3D CMS Logo

Public Member Functions | Public Attributes

funct::BreitWigner Struct Reference

#include <BreitWigner.h>

List of all members.

Public Member Functions

 BreitWigner (const Parameter &m, const Parameter &g)
 BreitWigner (boost::shared_ptr< double > m, boost::shared_ptr< double > g)
 BreitWigner (double m, double g)
double operator() (double x) const

Public Attributes

boost::shared_ptr< double > mass
boost::shared_ptr< double > width

Detailed Description

Definition at line 10 of file BreitWigner.h.


Constructor & Destructor Documentation

funct::BreitWigner::BreitWigner ( const Parameter m,
const Parameter g 
) [inline]

Definition at line 11 of file BreitWigner.h.

                                                       :
      mass(m.ptr()), width(g.ptr()) { }
funct::BreitWigner::BreitWigner ( boost::shared_ptr< double >  m,
boost::shared_ptr< double >  g 
) [inline]

Definition at line 13 of file BreitWigner.h.

                                                                     : 
      mass(m), width(g) {}
funct::BreitWigner::BreitWigner ( double  m,
double  g 
) [inline]

Definition at line 15 of file BreitWigner.h.

                                   : 
      mass(new double(m)), width(new double(g)) {}

Member Function Documentation

double funct::BreitWigner::operator() ( double  x) const [inline]

Definition at line 17 of file BreitWigner.h.

References mass, asciidump::s, funct::twoOverPi, width, and x.

                                      {
      double m2 = *mass * (*mass); 
      double g2 = *width * (*width);
      double g2OverM2 = g2/m2;
      double s = x*x;
      double deltaS = s - m2;
      double lineShape = 0;
      if (fabs(deltaS/m2)<16) {
        double prop = deltaS*deltaS + s*s*g2OverM2;
        lineShape = twoOverPi * (*width) * s/prop;
      }
      return lineShape;
    }

Member Data Documentation

boost::shared_ptr<double> funct::BreitWigner::mass

Definition at line 30 of file BreitWigner.h.

Referenced by operator()().

boost::shared_ptr<double> funct::BreitWigner::width

Definition at line 30 of file BreitWigner.h.

Referenced by operator()().