BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtVVP.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: EvtVVP.cc
12//
13// Description: The decay Vector -> Vector gamma
14// E.g., CHI1->PSI GAMMA
15//
16// Modification history:
17//
18// RYD September 5, 1997 Module created
19//
20//------------------------------------------------------------------------
21//
22#include "EvtVVP.hh"
30#include <iostream>
31#include <stdlib.h>
32#include <string>
33
35
36void EvtVVP::getName( std::string& model_name ) { model_name = "VVP"; }
37
39
41
42 // check that there are 8 arguments
43
44 checkNArg( 8 );
45 checkNDaug( 2 );
46
50}
51
53
55
57
58 EvtParticle *v, *ph;
59
60 v = p->getDaug( 0 );
61 ph = p->getDaug( 1 );
62
63 EvtVector3C epsp[3];
64 EvtVector3C epsv[3];
65 EvtVector3C epsph[2];
66
67 epsp[0] = p->eps( 0 ).vec();
68 epsp[1] = p->eps( 1 ).vec();
69 epsp[2] = p->eps( 2 ).vec();
70
71 epsv[0] = v->eps( 0 ).vec().conj();
72 epsv[1] = v->eps( 1 ).vec().conj();
73 epsv[2] = v->eps( 2 ).vec().conj();
74
75 epsph[0] = ph->epsParentPhoton( 0 ).vec().conj();
76 epsph[1] = ph->epsParentPhoton( 1 ).vec().conj();
77
78 int i, j, k;
79 for ( i = 0; i < 3; i++ )
80 {
81 for ( j = 0; j < 3; j++ )
82 {
83 for ( k = 0; k < 2; k++ ) { vertex( i, j, k, epsp[i].cross( epsv[j] ) * epsph[k] ); }
84 }
85 }
86
87 return;
88}
EvtVector3R cross(const EvtVector3R &p1, const EvtVector3R &p2)
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
Definition KarLud.h:35
void vertex(const EvtComplex &amp)
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void setProbMax(double prbmx)
void checkNDaug(int d1, int d2=-1)
EvtId * getDaugs()
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
virtual EvtVector4C epsParentPhoton(int i)
EvtParticle * getDaug(int i)
virtual EvtVector4C eps(int i) const
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
EvtVVP()
Definition EvtVVP.hh:31
virtual ~EvtVVP()
Definition EvtVVP.cc:34
EvtDecayBase * clone()
Definition EvtVVP.cc:38
void initProbMax()
Definition EvtVVP.cc:52
void decay(EvtParticle *p)
Definition EvtVVP.cc:54
void getName(std::string &name)
Definition EvtVVP.cc:36
void init()
Definition EvtVVP.cc:40
EvtVector3C conj() const
EvtVector3C vec() const