]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenModels/EvtISGW.cxx
An effective FD corretion
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtISGW.cxx
CommitLineData
da0e9ce3 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: EvtISGW.cc
12//
13// Description: Routine to implement semileptonic decays according
14// to the model ISGW
15//
16// Modification history:
17//
18// DJL/RYD September 25, 1996 Module created
19//
20//------------------------------------------------------------------------
21//
22#include "EvtGenBase/EvtPatches.hh"
23#include <stdlib.h>
24#include "EvtGenBase/EvtParticle.hh"
25#include "EvtGenBase/EvtGenKine.hh"
26#include "EvtGenBase/EvtPDL.hh"
27#include "EvtGenBase/EvtReport.hh"
28#include "EvtGenModels/EvtISGW.hh"
29#include <string>
30#include "EvtGenModels/EvtISGWFF.hh"
31#include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh"
32#include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh"
33#include "EvtGenBase/EvtSemiLeptonicTensorAmp.hh"
34
35EvtISGW::~EvtISGW() {}
36
37std::string EvtISGW::getName(){
38
39 return "ISGW";
40
41}
42
43
44EvtDecayBase* EvtISGW::clone(){
45
46 return new EvtISGW;
47
48}
49
50void EvtISGW::decay( EvtParticle *p ){
51
52
53 p->initializePhaseSpace(getNDaug(),getDaugs());
54
55 calcamp->CalcAmp(p,_amp2,isgwffmodel);
56 return;
57
58}
59
60
61void EvtISGW::init(){
62
63 checkNArg(0);
64 checkNDaug(3);
65
66
67 //We expect the parent to be a scalar
68 //and the daughters to be X lepton neutrino
69
70 EvtSpinType::spintype mesontype=EvtPDL::getSpinType(getDaug(0));
71
72 checkSpinParent(EvtSpinType::SCALAR);
73 checkSpinDaughter(1,EvtSpinType::DIRAC);
74 checkSpinDaughter(2,EvtSpinType::NEUTRINO);
75
76
77 isgwffmodel = new EvtISGWFF;
78
79 if ( mesontype==EvtSpinType::SCALAR ) {
80 calcamp = new EvtSemiLeptonicScalarAmp;
81 }
82 if ( mesontype==EvtSpinType::VECTOR ) {
83 calcamp = new EvtSemiLeptonicVectorAmp;
84 }
85 if ( mesontype==EvtSpinType::TENSOR ) {
86 calcamp = new EvtSemiLeptonicTensorAmp;
87 }
88
89}
90