BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtMBreitWigner Class Reference

#include <EvtMBreitWigner.hh>

Inheritance diagram for EvtMBreitWigner:

Public Member Functions

 EvtMBreitWigner (const EvtId &id, const vector< string > &args)
 ~EvtMBreitWigner ()
EvtComplex shape (const vector< EvtVector4R > &product) const
EvtMLineShapeduplicate () const
Public Member Functions inherited from EvtMLineShape
virtual ~EvtMLineShape ()
void setres (EvtMRes *n)

Additional Inherited Members

Protected Attributes inherited from EvtMLineShape
EvtMRes_node

Detailed Description

Definition at line 6 of file EvtMBreitWigner.hh.

Constructor & Destructor Documentation

◆ EvtMBreitWigner()

EvtMBreitWigner::EvtMBreitWigner ( const EvtId & id,
const vector< string > & args )

Definition at line 7 of file EvtMBreitWigner.cc.

7 {
8 if ( args.size() != 0 )
9 {
10 report( ERROR, "EvtGen" ) << "Unknown input arguments passed in to lineshape." << endl;
11 ::abort();
12 }
13
14 _id = id;
15 _width = EvtPDL::getWidth( id );
16 _resmass = EvtPDL::getMeanMass( id );
17}
ostream & report(Severity severity, const char *facility)
Definition EvtReport.cc:34
@ ERROR
Definition EvtReport.hh:49
static double getWidth(EvtId i)
Definition EvtPDL.hh:59
static double getMeanMass(EvtId i)
Definition EvtPDL.hh:43

Referenced by duplicate().

◆ ~EvtMBreitWigner()

EvtMBreitWigner::~EvtMBreitWigner ( )
inline

Definition at line 10 of file EvtMBreitWigner.hh.

10{};

Member Function Documentation

◆ duplicate()

EvtMLineShape * EvtMBreitWigner::duplicate ( ) const
virtual

Implements EvtMLineShape.

Definition at line 26 of file EvtMBreitWigner.cc.

26 {
27 vector<string> args;
28 EvtMLineShape* tmp = new EvtMBreitWigner( _id, args );
29 return tmp;
30}
EvtMBreitWigner(const EvtId &id, const vector< string > &args)

◆ shape()

EvtComplex EvtMBreitWigner::shape ( const vector< EvtVector4R > & product) const
virtual

Implements EvtMLineShape.

Definition at line 19 of file EvtMBreitWigner.cc.

19 {
20 static EvtComplex I( 0.0, 1.0 );
21 double mass = _node->get4vector( product ).mass();
22
23 return sqrt( _width / ( EvtConst::twoPi ) ) * 1 / ( mass - _resmass - I * _width / 2 );
24}
double mass
const DifComplex I
static const double twoPi
Definition EvtConst.hh:28
EvtMRes * _node
Definition EvtMRes.hh:19

The documentation for this class was generated from the following files: