CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtSVS.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: EvtSVS.cc
12//
13// Description: Routine to decay scalar -> vector + scalar
14//
15// Modification history:
16//
17// RYD November 24, 1996 Module created
18//
19//------------------------------------------------------------------------
20//
22#include <stdlib.h>
26#include "EvtGenBase/EvtPDL.hh"
29#include <string>
30
32
33void EvtSVS::getName(std::string& model_name){
34
35 model_name="SVS";
36
37}
38
39
41
42 return new EvtSVS;
43
44}
45
47
48 // check that there are 0 arguments
49 checkNArg(0);
50 checkNDaug(2);
51
53
56
57
58}
59
60
61
63
64 setProbMax(1.0);
65
66}
67
69
71 //report(INFO,"EvtGen") << "par " << p->getP4() << " " << p->getDaug(0)->getP4() << " " <<
72 // p->getDaug(1)->getP4() << " " << p->mass() << " " <<
73 // p->getDaug(0)->mass() << " " << p->getDaug(1)->mass() <<endl;
75 v = p->getDaug(0);
76 double massv = v->mass();
77 EvtVector4R momv = v->getP4();
78 EvtVector4R moms = p->getDaug(1)->getP4();
79 double m_parent = p->mass();
80 EvtVector4R p4_parent = momv+moms;
81
82 double norm=massv/(momv.d3mag()*m_parent);
83 p4_parent = norm*p4_parent;
84 vertex(0,p4_parent*(v->epsParent(0)));
85 vertex(1,p4_parent*(v->epsParent(1)));
86 vertex(2,p4_parent*(v->epsParent(2)));
87
88 return ;
89}
90
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
Definition KarLud.h:35
void vertex(const EvtComplex &amp)
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void setProbMax(double prbmx)
void checkNDaug(int d1, int d2=-1)
EvtId * getDaugs()
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double mass() const
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
EvtDecayBase * clone()
Definition EvtSVS.cc:40
void getName(std::string &name)
Definition EvtSVS.cc:33
EvtSVS()
Definition EvtSVS.hh:34
void initProbMax()
Definition EvtSVS.cc:62
virtual ~EvtSVS()
Definition EvtSVS.cc:31
void init()
Definition EvtSVS.cc:46
void decay(EvtParticle *p)
Definition EvtSVS.cc:68
double d3mag() const