EvtMBreitWigner Class Reference

#include <EvtMBreitWigner.hh>

Inheritance diagram for EvtMBreitWigner:

EvtMLineShape List of all members.

Public Member Functions

 EvtMBreitWigner (const EvtId &id, const vector< string > &args)
 ~EvtMBreitWigner ()
EvtComplex shape (const vector< EvtVector4R > &product) const
EvtMLineShapeduplicate () const
void setres (EvtMRes *n)

Protected Attributes

EvtMRes_node

Private Attributes

EvtId _id
double _width
double _resmass

Detailed Description

Definition at line 6 of file EvtMBreitWigner.hh.


Constructor & Destructor Documentation

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

Definition at line 7 of file EvtMBreitWigner.cc.

References _id, _resmass, _width, calibUtil::ERROR, EvtPDL::getMeanMass(), EvtPDL::getWidth(), and report().

Referenced by duplicate().

00008 {
00009     if( args.size() != 0 ) {
00010         report(ERROR, "EvtGen")<<"Unknown input arguments passed in to lineshape."<<endl;
00011         ::abort();
00012     }
00013 
00014     _id = id;
00015     _width = EvtPDL::getWidth( id );
00016     _resmass = EvtPDL::getMeanMass( id );
00017 }

EvtMBreitWigner::~EvtMBreitWigner (  )  [inline]

Definition at line 10 of file EvtMBreitWigner.hh.

00010 {};


Member Function Documentation

EvtMLineShape * EvtMBreitWigner::duplicate (  )  const [virtual]

Implements EvtMLineShape.

Definition at line 28 of file EvtMBreitWigner.cc.

References _id, and EvtMBreitWigner().

00029 {
00030   vector<string> args;
00031   EvtMLineShape* tmp=new EvtMBreitWigner( _id, args );
00032   return tmp;
00033 }

void EvtMLineShape::setres ( EvtMRes n  )  [inline, inherited]

Definition at line 14 of file EvtMRes.hh.

References EvtMLineShape::_node.

Referenced by EvtMHelAmp::duplicate(), and EvtMTree::makeresonance().

00014 { _node = n; }

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

Implements EvtMLineShape.

Definition at line 19 of file EvtMBreitWigner.cc.

References EvtMLineShape::_node, _resmass, _width, EvtMNode::get4vector(), I, EvtVector4R::mass(), mass, and EvtConst::twoPi.

00020 {
00021     static EvtComplex I(0.0, 1.0);
00022     double mass = _node->get4vector(product).mass();
00023  
00024     return sqrt(_width/( EvtConst::twoPi )) * 1/( mass - _resmass - I * _width/2 );
00025 }


Member Data Documentation

EvtId EvtMBreitWigner::_id [private]

Definition at line 17 of file EvtMBreitWigner.hh.

Referenced by duplicate(), and EvtMBreitWigner().

EvtMRes* EvtMLineShape::_node [protected, inherited]

Definition at line 21 of file EvtMRes.hh.

Referenced by EvtMLineShape::setres(), and shape().

double EvtMBreitWigner::_resmass [private]

Definition at line 19 of file EvtMBreitWigner.hh.

Referenced by EvtMBreitWigner(), and shape().

double EvtMBreitWigner::_width [private]

Definition at line 19 of file EvtMBreitWigner.hh.

Referenced by EvtMBreitWigner(), and shape().


Generated on Tue Nov 29 23:19:07 2016 for BOSS_7.0.2 by  doxygen 1.4.7