20#include "EvtGenBase/EvtPatches.hh"
22#include "EvtGenBase/EvtDecayBase.hh"
23#include "EvtGenBase/EvtDecayAmp.hh"
24#include "EvtGenBase/EvtParticle.hh"
25#include "EvtGenBase/EvtPDL.hh"
26#include "EvtGenBase/EvtRandom.hh"
27#include "EvtGenBase/EvtRadCorr.hh"
28#include "EvtGenBase/EvtAmp.hh"
29#include "EvtGenBase/EvtReport.hh"
30#include "EvtGenBase/EvtSpinDensity.hh"
67 report(
DEBUG,
"EvtGen") <<
"Forward density matrix:"<<endl;
70 report(
DEBUG,
"EvtGen") <<
"Decay density matrix:"<<endl;
103 report(
DEBUG,
"EvtGen") <<
"daughter momenta :" << endl;;
125 }
while(ntimes&&more);
129 report(
DEBUG,
"EvtGen") <<
"Tried accept/reject:10000"
130 <<
" times, and rejected all the times!"<<endl;
132 report(
DEBUG,
"EvtGen") <<
"Is therefore accepting the last event!"<<endl;
153 if (
_amp2._pstates!=1){
175 if (
_amp2.dstates[i]==1) {
184 report(
ERROR,
"EvtGen") <<
"-------start error-------"<<endl;
185 report(
ERROR,
"EvtGen")<<
"forward rho failed Check:"<<
196 for(ii=0;ii<i+1;ii++){
199 report(
ERROR,
"EvtGen") <<
"-------Done with error-------"<<endl;
212 if (
_amp2.dstates[i]!=1){
213 ampcont=ampcont.
contract(
_amp2._dnontrivial[i],rho_list[i+1]);
224 report(
ERROR,
"EvtGen")<<
"rho_backward failed Check"<<
ostream & report(Severity severity, const char *facility)
EvtSpinDensity contract(int i, const EvtAmp &a)
void init(EvtId p, int ndaug, EvtId *daug)
EvtSpinDensity getBackwardSpinDensity(EvtSpinDensity *rho_list)
EvtSpinDensity getSpinDensity()
void makeDecay(EvtParticle *p)
virtual void decay(EvtParticle *p)=0
double getProbMax(double prob)
bool daugsDecayedByParentModel()
bool _daugsDecayedByParentModel
static std::string name(EvtId i)
void setSpinDensityBackward(const EvtSpinDensity &rho)
void setSpinDensityForward(const EvtSpinDensity &rho)
void setDecayProb(double p)
EvtParticle * getParent()
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
EvtSpinDensity getSpinDensityBackward()
EvtSpinDensity getSpinDensityForward()
static bool alwaysRadCorr()
static void doRadCorr(EvtParticle *p)
double NormalizedProb(const EvtSpinDensity &d)
void Set(int i, int j, const EvtComplex &rhoij)