CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
funct::BreitWigner Struct Reference

#include <BreitWigner.h>

Public Member Functions

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

Public Attributes

std::shared_ptr< double > mass
 
std::shared_ptr< double > width
 

Detailed Description

Definition at line 10 of file BreitWigner.h.

Constructor & Destructor Documentation

◆ BreitWigner() [1/3]

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

Definition at line 11 of file BreitWigner.h.

11 : mass(m.ptr()), width(g.ptr()) {}

◆ BreitWigner() [2/3]

funct::BreitWigner::BreitWigner ( std::shared_ptr< double >  m,
std::shared_ptr< double >  g 
)
inline

Definition at line 12 of file BreitWigner.h.

12 : mass(m), width(g) {}

◆ BreitWigner() [3/3]

funct::BreitWigner::BreitWigner ( double  m,
double  g 
)
inline

Definition at line 13 of file BreitWigner.h.

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

Member Function Documentation

◆ operator()()

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

Definition at line 14 of file BreitWigner.h.

14  {
15  double m2 = *mass * (*mass);
16  double g2 = *width * (*width);
17  double g2OverM2 = g2 / m2;
18  double s = x * x;
19  double deltaS = s - m2;
20  double lineShape = 0;
21  if (fabs(deltaS / m2) < 16) {
22  double prop = deltaS * deltaS + s * s * g2OverM2;
23  lineShape = twoOverPi * (*width) * s / prop;
24  }
25  return lineShape;
26  }

References diffTwoXMLs::g2, callgraph::m2, mass, alignCSCRings::s, funct::twoOverPi, and width.

Member Data Documentation

◆ mass

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

◆ width

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

Definition at line 27 of file BreitWigner.h.

Referenced by operator()().

DDAxes::x
alignCSCRings.s
s
Definition: alignCSCRings.py:92
funct::m
m
Definition: Factorize.h:45
diffTwoXMLs.g2
g2
Definition: diffTwoXMLs.py:71
callgraph.m2
m2
Definition: callgraph.py:38
funct::BreitWigner::mass
std::shared_ptr< double > mass
Definition: BreitWigner.h:27
funct::twoOverPi
const double twoOverPi
Definition: BreitWigner.h:8
funct::BreitWigner::width
std::shared_ptr< double > width
Definition: BreitWigner.h:27
g
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4