BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtDecayIncoherent.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: EvtGen/EvtDecayIncoherent.cc
12//
13// Description:
14//
15// Modification history:
16//
17// DJL/RYD August 11, 1998 Module created
18//
19//------------------------------------------------------------------------
20#include "EvtPatches.hh"
21
22#include "EvtDecayBase.hh"
23#include "EvtDecayIncoherent.hh"
24#include "EvtPDL.hh"
25#include "EvtParticle.hh"
26#include "EvtRadCorr.hh"
27#include "EvtReport.hh"
28
30
31 int i;
32 // initialize this the hard way..
33 // Lange June 26, 2000
34 for ( i = 0; i < MAX_DAUG; i++ ) { spinDensitySet[i] = 0; }
36
37 decay( p );
38 p->setDecayProb( 1. );
39
41
42 rho.SetDiag( p->getSpinStates() );
43
44 p->setSpinDensityBackward( rho );
45
47
48 // Now decay the daughters.
49
51 {
52
53 for ( i = 0; i < p->getNDaug(); i++ )
54 {
55 // Need to set the spin density of the daughters to be
56 // diagonal.
57 rho.SetDiag( p->getDaug( i )->getSpinStates() );
58 // if (p->getDaug(i)->getNDaug()==0){
59 // only do this if the user has not already set the
60 // spin density matrix herself.
61 // Lange June 26, 2000
62 if ( isDaughterSpinDensitySet( i ) == 0 )
63 { p->getDaug( i )->setSpinDensityForward( rho ); }
64 else
65 {
66 // report(INFO,"EvtGen") << "spinDensitymatrix already set!!!\n";
68 // report(INFO,"EvtGen") <<temp<<endl;
69 }
70 // Now decay the daughter. Really!
71 p->getDaug( i )->decay();
72 }
73 }
74}
const int MAX_DAUG
virtual void decay(EvtParticle *p)=0
bool daugsDecayedByParentModel()
bool _daugsDecayedByParentModel
void makeDecay(EvtParticle *p)
int isDaughterSpinDensitySet(int daughter)
void setSpinDensityBackward(const EvtSpinDensity &rho)
void setSpinDensityForward(const EvtSpinDensity &rho)
void setDecayProb(double p)
int getSpinStates() const
int getNDaug() const
EvtParticle * getDaug(int i)
EvtSpinDensity getSpinDensityForward()
static bool alwaysRadCorr()
Definition EvtRadCorr.cc:61
static void doRadCorr(EvtParticle *p)
Definition EvtRadCorr.cc:48
void SetDiag(int n)