BOSS 7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtMBreitWigner.cc
Go to the documentation of this file.
1#include "EvtGenBase/EvtPatches.hh"
2#include "EvtGenBase/EvtMBreitWigner.hh"
3#include <cstdlib>
4
5using std::endl;
6
7EvtMBreitWigner::EvtMBreitWigner( const EvtId& id, const vector<string>& args )
8{
9 if( args.size() != 0 ) {
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}
18
19EvtComplex EvtMBreitWigner::shape( const vector<EvtVector4R>& product ) const
20{
21 static EvtComplex I(0.0, 1.0);
22 double mass = _node->get4vector(product).mass();
23
24 return sqrt(_width/( EvtConst::twoPi )) * 1/( mass - _resmass - I * _width/2 );
25}
26
27
29{
30 vector<string> args;
31 EvtMLineShape* tmp=new EvtMBreitWigner( _id, args );
32 return tmp;
33}
34
double mass
const DifComplex I
ostream & report(Severity severity, const char *facility)
EvtMBreitWigner(const EvtId &id, const vector< string > &args)
EvtComplex shape(const vector< EvtVector4R > &product) const
EvtVector4R get4vector(const vector< EvtVector4R > &product) const