1 //--------------------------------------------------------------------------
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.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtSLPole.cc
13 // Description: Routine to implement semileptonic decays according
14 // to light cone sum rules
16 // Modification history:
18 // DJL April 23, 1998 Module created
20 //------------------------------------------------------------------------
22 #include "EvtGenBase/EvtPatches.hh"
24 #include "EvtGenBase/EvtParticle.hh"
25 #include "EvtGenBase/EvtGenKine.hh"
26 #include "EvtGenBase/EvtPDL.hh"
27 #include "EvtGenBase/EvtReport.hh"
28 #include "EvtGenModels/EvtKKLambdaC.hh"
29 #include "EvtGenModels/EvtKKLambdaCFF.hh"
30 #include "EvtGenBase/EvtSemiLeptonicBaryonAmp.hh"
33 EvtKKLambdaC::~EvtKKLambdaC() {}
35 std::string EvtKKLambdaC::getName(){
37 return "KK_LAMBDAC_SL";
42 EvtDecayBase* EvtKKLambdaC::clone(){
44 return new EvtKKLambdaC;
48 void EvtKKLambdaC::decay( EvtParticle *p ){
50 p->initializePhaseSpace(getNDaug(),getDaugs());
52 _calcamp->CalcAmp(p,_amp2,_ffmodel);
56 void EvtKKLambdaC::initProbMax(){
58 EvtId parnum,mesnum,lnum,nunum;
60 parnum = getParentId();
65 //double mymaxprob = _calcamp->CalcMaxProb(parnum,mesnum,
66 // lnum,nunum,_ffmodel);
67 double mymaxprob=100.;
68 setProbMax(mymaxprob);
73 void EvtKKLambdaC::init(){
77 //We expect the parent to be a dirac
78 //and the daughters to be dirac lepton neutrino
80 checkSpinParent(EvtSpinType::DIRAC);
81 checkSpinDaughter(0,EvtSpinType::DIRAC);
82 checkSpinDaughter(1,EvtSpinType::DIRAC);
83 checkSpinDaughter(2,EvtSpinType::NEUTRINO);
85 _ffmodel = new EvtKKLambdaCFF(getNArg(),getArgs());
87 _calcamp = new EvtSemiLeptonicBaryonAmp;