69 {
70
73
74 EvtComplex myI( 0, 1 );
75
76 EvtParticle *lept, *neut, *phot;
80
81 EvtVector4C lept1, lept2, photon1, photon2;
82
83 if ( p->
getId() == BM )
84 {
87 }
88 else
89 {
92 }
93
94 EvtVector4R photp = phot->
getP4();
95 double photE = photp.
get( 0 );
96
99
100 EvtVector4R parVelocity( 1, 0, 0, 0 );
101
102 double fv, fa;
103
106 else if ( p->
getId() == BM ) { fa = -fv; }
107 else { fa = fv; }
108
111
112 EvtVector4C temp1b = ( photone1 ) * ( parVelocity * photp );
113 EvtVector4C temp1c = ( photp ) * ( photone1 * parVelocity );
114
115 EvtVector4C temp2b = ( photone2 ) * ( parVelocity * photp );
116 EvtVector4C temp2c = ( photp ) * ( photone2 * parVelocity );
117
118 photon1 = ( temp1a * fv ) + ( myI * fa * ( temp1b - temp1c ) );
119 photon2 = ( temp2a * fv ) + ( myI * fa * ( temp2b - temp2c ) );
120
125
126 return;
127}
Evt3Rank3C directProd(const EvtVector3C &c1, const EvtVector3C &c2, const EvtVector3C &c3)
EvtVector4C EvtLeptonVACurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtTensor4C dual(const EvtTensor4C &t2)
void vertex(const EvtComplex &)
double getFormFactor(double photonEnergy)
static EvtId getId(const std::string &name)
virtual EvtVector4C epsParentPhoton(int i)
virtual EvtDiracSpinor spParentNeutrino() const
virtual EvtDiracSpinor spParent(int) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
EvtVector4C cont2(const EvtVector4C &v4) const
EvtComplex cont(const EvtVector4C &v4) const