BOSS 8.0.0
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//
21#include "EvtSVS.hh"
28#include <stdlib.h>
29#include <string>
30
32
33void EvtSVS::getName( std::string& model_name ) { model_name = "SVS"; }
34
36
38
39 // check that there are 0 arguments
40 checkNArg( 0 );
41 checkNDaug( 2 );
42
44
47}
48
50
52
54 // report(INFO,"EvtGen") << "par " << p->getP4() << " " << p->getDaug(0)->getP4() << " " <<
55 // p->getDaug(1)->getP4() << " " << p->mass() << " " <<
56 // p->getDaug(0)->mass() << " " << p->getDaug(1)->mass() <<endl;
58 v = p->getDaug( 0 );
59 double massv = v->mass();
60 EvtVector4R momv = v->getP4();
61 EvtVector4R moms = p->getDaug( 1 )->getP4();
62 double m_parent = p->mass();
63 EvtVector4R p4_parent = momv + moms;
64
65 double norm = massv / ( momv.d3mag() * m_parent );
66 p4_parent = norm * p4_parent;
67 vertex( 0, p4_parent * ( v->epsParent( 0 ) ) );
68 vertex( 1, p4_parent * ( v->epsParent( 1 ) ) );
69 vertex( 2, p4_parent * ( v->epsParent( 2 ) ) );
70
71 return;
72}
**********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:35
void getName(std::string &name)
Definition EvtSVS.cc:33
EvtSVS()
Definition EvtSVS.hh:33
void initProbMax()
Definition EvtSVS.cc:49
virtual ~EvtSVS()
Definition EvtSVS.cc:31
void init()
Definition EvtSVS.cc:37
void decay(EvtParticle *p)
Definition EvtSVS.cc:51
double d3mag() const