BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtSll.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: EvtSll.cc
12//
13// Description: The decay of a scalar meson to two leptons,
14// or generally, two spin 1/2 particles.
15// E.g., B0 -> tau+ tau-
16//
17// Modification history:
18//
19// SHY April 23, 1997 Module created
20//
21//------------------------------------------------------------------------
22//
23#include "EvtSll.hh"
31#include <iostream>
32#include <stdlib.h>
33#include <string>
34
36
37void EvtSll::getName( std::string& model_name ) { model_name = "SLL"; }
38
40
42
43 // check that there are 0 arguments
44 checkNArg( 0 );
45 checkNDaug( 2 );
46
48
51}
52
54
56
57 EvtParticle *l1, *l2;
58 l1 = p->getDaug( 0 );
59 l2 = p->getDaug( 1 );
60 EvtVector4R p4_p;
61 p4_p.set( p->mass(), 0.0, 0.0, 0.0 );
62
63 EvtVector4C l11, l12, l21, l22;
64
65 l11 = EvtLeptonVACurrent( l1->spParent( 0 ), l2->spParent( 0 ) );
66 l12 = EvtLeptonVACurrent( l1->spParent( 0 ), l2->spParent( 1 ) );
67 l21 = EvtLeptonVACurrent( l1->spParent( 1 ), l2->spParent( 0 ) );
68 l22 = EvtLeptonVACurrent( l1->spParent( 1 ), l2->spParent( 1 ) );
69
70 vertex( 0, 0, p4_p * l11 );
71 vertex( 0, 1, p4_p * l12 );
72 vertex( 1, 0, p4_p * l21 );
73 vertex( 1, 1, p4_p * l22 );
74
75 return;
76}
EvtVector4C EvtLeptonVACurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
void vertex(const EvtComplex &amp)
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void checkNDaug(int d1, int d2=-1)
EvtId * getDaugs()
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
virtual EvtDiracSpinor spParent(int) const
EvtParticle * getDaug(int i)
double mass() const
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
void init()
Definition EvtSll.cc:41
EvtDecayBase * clone()
Definition EvtSll.cc:39
void getName(std::string &name)
Definition EvtSll.cc:37
void decay(EvtParticle *p)
Definition EvtSll.cc:53
virtual ~EvtSll()
Definition EvtSll.cc:35
EvtSll()
Definition EvtSll.hh:33
void set(int i, double d)