CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtMTree Class Reference

#include <EvtMTree.hh>

Public Member Functions

 EvtMTree (const EvtId *idtbl, int ndaug)
 
 ~EvtMTree ()
 
EvtSpinAmp amplitude (const vector< EvtVector4R > &product) const
 
void addtree (const string &args)
 

Detailed Description

Definition at line 21 of file EvtMTree.hh.

Constructor & Destructor Documentation

◆ EvtMTree()

EvtMTree::EvtMTree ( const EvtId * idtbl,
int ndaug )

Definition at line 20 of file EvtMTree.cc.

21{
22 for( int i=0; i<ndaug; ++i ) {
23 _lbltbl.push_back( EvtPDL::name( idtbl[i] ) );
24 }
25}
static std::string name(EvtId i)
Definition EvtPDL.hh:64

◆ ~EvtMTree()

EvtMTree::~EvtMTree ( )

Definition at line 27 of file EvtMTree.cc.

28{
29 for(int i=0; i<_root.size(); ++i) delete _root[i];
30}

Member Function Documentation

◆ addtree()

void EvtMTree::addtree ( const string & args)

Definition at line 379 of file EvtMTree.cc.

380{
381 vector<EvtMNode *> roots = parsenode( str, true );
382 _norm = 0;
383
384 for( int i=0; i<roots.size(); ++i ) {
385 if( validTree( roots[i] ) ) {
386 _root.push_back( roots[i] );
387 _norm = _norm + 1;
388 } else
389 delete roots[i];
390 }
391
392 _norm = 1.0/sqrt(_norm);
393}

Referenced by EvtMultibody::init().

◆ amplitude()

EvtSpinAmp EvtMTree::amplitude ( const vector< EvtVector4R > & product) const

Definition at line 395 of file EvtMTree.cc.

397{
398 if( _root.size() == 0 ) {
399 report(ERROR, "EvtGen")<<"No decay tree present."<<endl;
400 ::abort();
401 }
402
403 EvtSpinAmp amp = _root[0]->amplitude( product );
404 for( int i=1; i<_root.size(); ++i ) {
405 // Assume that helicity amplitude is returned and rotate to standard
406 // amplitude here, do this before adding the amplitudes (different
407 // frames?)
408 amp += _root[i]->amplitude( product );
409 }
410
411 return _norm*amp;
412}
ostream & report(Severity severity, const char *facility)
Definition EvtReport.cc:36
@ ERROR
Definition EvtReport.hh:49

Referenced by EvtMultibody::decay().


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