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 (std::shared_ptr< double > m, std::shared_ptr< double > g)
 
 BreitWigner (double m, 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

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()) {}
std::shared_ptr< double > mass
Definition: BreitWigner.h:27
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
std::shared_ptr< double > width
Definition: BreitWigner.h:27
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) {}
std::shared_ptr< double > mass
Definition: BreitWigner.h:27
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
std::shared_ptr< double > width
Definition: BreitWigner.h:27
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)) {}
std::shared_ptr< double > mass
Definition: BreitWigner.h:27
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
std::shared_ptr< double > width
Definition: BreitWigner.h:27

Member Function Documentation

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

Definition at line 14 of file BreitWigner.h.

References diffTwoXMLs::g2, mass, alignCSCRings::s, and width.

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  }
std::shared_ptr< double > mass
Definition: BreitWigner.h:27
const double twoOverPi
Definition: BreitWigner.h:8
std::shared_ptr< double > width
Definition: BreitWigner.h:27

Member Data Documentation

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