CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtSLPole.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: EvtSLPole.cc
12//
13// Description: Routine to implement semileptonic decays according
14// to light cone sum rules
15//
16// Modification history:
17//
18// DJL April 23, 1998 Module created
19//
20//------------------------------------------------------------------------
21//
23#include <stdlib.h>
26#include "EvtGenBase/EvtPDL.hh"
33#include <string>
34
36
37void EvtSLPole::getName(std::string& model_name){
38
39 model_name="SLPOLE";
40
41}
42
43
45
46 return new EvtSLPole;
47
48}
49
51
53
54 calcamp->CalcAmp(p,_amp2,SLPoleffmodel);
55 return;
56}
57
59
60EvtId parnum,mesnum,lnum,nunum;
61
62parnum = getParentId();
63mesnum = getDaug(0);
64lnum = getDaug(1);
65nunum = getDaug(2);
66
67double mymaxprob = calcamp->CalcMaxProb(parnum,mesnum,
68 lnum,nunum,SLPoleffmodel);
69
70setProbMax(mymaxprob);
71
72}
73
74
76
77 checkNDaug(3);
78
79 //We expect the parent to be a scalar
80 //and the daughters to be X lepton neutrino
81
85
87
88 SLPoleffmodel = new EvtSLPoleFF(getNArg(),getArgs());
89
90 if ( mesontype==EvtSpinType::SCALAR ) {
91 calcamp = new EvtSemiLeptonicScalarAmp;
92 }
93 if ( mesontype==EvtSpinType::VECTOR ) {
94 calcamp = new EvtSemiLeptonicVectorAmp;
95 }
96 if ( mesontype==EvtSpinType::TENSOR ) {
97 calcamp = new EvtSemiLeptonicTensorAmp;
98 }
99
100}
101
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void setProbMax(double prbmx)
EvtId getParentId()
double * getArgs()
void checkNDaug(int d1, int d2=-1)
EvtId * getDaugs()
EvtId getDaug(int i)
Definition EvtId.hh:27
static EvtSpinType::spintype getSpinType(EvtId i)
Definition EvtPDL.hh:61
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
virtual ~EvtSLPole()
Definition EvtSLPole.cc:35
void initProbMax()
Definition EvtSLPole.cc:58
void init()
Definition EvtSLPole.cc:75
EvtDecayBase * clone()
Definition EvtSLPole.cc:44
void decay(EvtParticle *p)
Definition EvtSLPole.cc:50
void getName(std::string &name)
Definition EvtSLPole.cc:37
virtual void CalcAmp(EvtParticle *parent, EvtAmp &amp, EvtSemiLeptonicFF *FormFactors)
double CalcMaxProb(EvtId parent, EvtId meson, EvtId lepton, EvtId nudaug, EvtSemiLeptonicFF *FormFactors)