BOSS 6.6.4.p01
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtParticleDecay.cc
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of the EvtGen package developed jointly
5// for the BaBar and CLEO collaborations. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtDecayParm.cc
12//
13// Description: Store decay parameters for one decay.
14//
15// Modification history:
16//
17// RYD April 5, 1997 Module created
18//
19//------------------------------------------------------------------------
20//
22#include <iostream>
23#include <fstream>
24#include <stdlib.h>
25#include <ctype.h>
30#include "EvtGenBase/EvtPDL.hh"
31#include "EvtGenBase/EvtId.hh"
32#include <string>
33#include <vector>
34using std::fstream;
36
37 if (_decay!=0) _decay->printSummary();
38
39}
40
42
43 _brfrsum=decay->_brfrsum;
44 _massmin=decay->_massmin;
45
46 _decay=decay->_decay->clone();
47
48 int ndaug=decay->_decay->getNDaug();
49 int narg=decay->_decay->getNArg();
50 double brfr=decay->_decay->getBranchingFraction();
51 std::string name;
52 decay->_decay->getName(name);
53 EvtId ipar=EvtPDL::chargeConj(decay->_decay->getParentId());
54 int i;
55 EvtId* daug=new EvtId[ndaug];
56 for(i=0;i<ndaug;i++){
57 daug[i]=EvtPDL::chargeConj(decay->_decay->getDaug(i));
58 }
59 //Had to add 1 to make sure the vector is not empty!
60 std::vector<std::string> args;
61 for(i=0;i<narg;i++){
62 args.push_back(decay->_decay->getArgStr(i));
63 }
64
65 _decay->saveDecayInfo(ipar,ndaug,daug,narg,args,name,brfr);
66
67 if (decay->_decay->getPHOTOS()) _decay->setPHOTOS();
68
69 delete [] daug;
70
71}
72
73
74
75
76
77
78
virtual EvtDecayBase * clone()=0
virtual void getName(std::string &name)=0
void setPHOTOS()
Definition: EvtDecayBase.hh:69
EvtId getParentId()
Definition: EvtDecayBase.hh:60
void printSummary()
void saveDecayInfo(EvtId ipar, int ndaug, EvtId *daug, int narg, std::vector< std::string > &args, std::string name, double brfr)
double getBranchingFraction()
Definition: EvtDecayBase.hh:61
EvtId getDaug(int i)
Definition: EvtDecayBase.hh:66
std::string getArgStr(int j)
Definition: EvtDecayBase.hh:75
Definition: EvtId.hh:27
static EvtId chargeConj(EvtId id)
Definition: EvtPDL.cc:208
void chargeConj(EvtParticleDecay *decay)