BOSS 7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
BesEvtGen-00-04-08/src/EvtGen/EvtGenModels/EvtS2GV.cc
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of models developed at BES collaboration
5// based on the EvtGen framework. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/BesCopyright
9// Copyright (A) 2006 Ping Rong-Gang @IHEP
10//
11// Module: EvtS2GV.cc
12//
13// Description: Routine to decay chi_c1-> gamma J/psi using
14// helicity amplitude, assuming E1 dominance.
15// Modification history:
16//
17// Ping R.-G. December, 2006 Module created
18//
19//------------------------------------------------------------------------
20//
21#include "EvtGenBase/EvtPatches.hh"
22#include <stdlib.h>
23#include "EvtGenBase/EvtParticle.hh"
24#include "EvtGenBase/EvtGenKine.hh"
25#include "EvtGenBase/EvtPDL.hh"
26#include "EvtGenBase/EvtVector4C.hh"
27#include "EvtGenBase/EvtVector4R.hh"
28#include "EvtGenBase/EvtTensor4C.hh"
29#include "EvtGenBase/EvtReport.hh"
30#include "EvtGenBase/EvtHelSys.hh"
31#include "EvtGenModels/EvtS2GV.hh"
32#include "EvtGenBase/EvtRandom.hh"
33#include <string>
34using std::endl;
35
37
38void EvtS2GV::getName(std::string& model_name){
39
40 model_name="S2GV";
41
42}
43
44
46
47 return new EvtS2GV;
48
49}
50
51void EvtS2GV::init(){
52static EvtId GAM=EvtPDL::getId("gamma");
53// check that there are 0 arguments
54 checkNArg(0);
55 checkNDaug(2);
59 if (!(getDaug(0)==GAM)) {
60 report(ERROR,"EvtGen") << "EvtS2GV generator radiative decays expected "<<endl;
61 ::abort();
62}
63 }
64
65
67
68//Hard coded... should not be hard to calculate...
69setProbMax(2.0001);
70}
71
74
75 double phs=0.;
76 EvtComplex F11=exp(EvtComplex(0,phs));
77
78 vertex(0,0, F11);
79 vertex(0,2, 0);
80 vertex(0,1, 0);
81 vertex(1,0, 0);
82 vertex(1,2, 0);
83 vertex(1,1,-F11);
84 return ;
85
86}
87
88
89
90
EvtComplex exp(const EvtComplex &c)
ostream & report(Severity severity, const char *facility)
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
static EvtId getId(const std::string &name)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)