21#ifndef EVTDECAYBASE_HH
22#define EVTDECAYBASE_HH
24#include "EvtGenBase/EvtPatches.hh"
25#include "EvtGenBase/EvtId.hh"
27#include "EvtGenBase/EvtSpinType.hh"
38 virtual void getName(std::string& name)=0;
82 int narg, std::vector<std::string>& args,
83 std::string name,
double brfr);
97 void checkNArg(
int a1,
int a2=-1,
int a3=-1,
int a4=-1);
122 std::string _modelname;
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
virtual void decay(EvtParticle *p)=0
virtual EvtDecayBase * clone()=0
std::string * getArgsStr()
double resetProbMax(double prob)
void setProbMax(double prbmx)
static void findMass(EvtParticle *p)
virtual void getName(std::string &name)=0
virtual void initProbMax()
virtual std::string commandName()
std::string getModelName()
void saveDecayInfo(EvtId ipar, int ndaug, EvtId *daug, int narg, std::vector< std::string > &args, std::string name, double brfr)
virtual int nRealDaughters()
double getProbMax(double prob)
virtual void makeDecay(EvtParticle *p)=0
double getBranchingFraction()
void checkNDaug(int d1, int d2=-1)
static void findMasses(EvtParticle *p, int ndaugs, EvtId daugs[10], double masses[10])
virtual bool matchingDecay(const EvtDecayBase &other) const
static double findMaxMass(EvtParticle *p)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
bool daugsDecayedByParentModel()
bool _daugsDecayedByParentModel
std::string getArgStr(int j)
virtual void command(std::string cmd)