BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtSVVHelAmp Class Reference

#include <EvtSVVHelAmp.hh>

+ Inheritance diagram for EvtSVVHelAmp:

Public Member Functions

 EvtSVVHelAmp ()
 
virtual ~EvtSVVHelAmp ()
 
void getName (std::string &name)
 
EvtDecayBaseclone ()
 
void init ()
 
void initProbMax ()
 
void decay (EvtParticle *p)
 
- Public Member Functions inherited from EvtDecayAmp
void makeDecay (EvtParticle *p)
 
void setWeight (double weight)
 
void vertex (const EvtComplex &amp)
 
void vertex (int i1, const EvtComplex &amp)
 
void vertex (int i1, int i2, const EvtComplex &amp)
 
void vertex (int i1, int i2, int i3, const EvtComplex &amp)
 
void vertex (int *i1, const EvtComplex &amp)
 
virtual ~EvtDecayAmp ()
 
- Public Member Functions inherited from EvtDecayBase
virtual void getName (std::string &name)=0
 
virtual void decay (EvtParticle *p)=0
 
virtual void makeDecay (EvtParticle *p)=0
 
virtual EvtDecayBaseclone ()=0
 
virtual void init ()
 
virtual void initProbMax ()
 
virtual std::string commandName ()
 
virtual void command (std::string cmd)
 
double getProbMax (double prob)
 
double resetProbMax (double prob)
 
 EvtDecayBase ()
 
virtual ~EvtDecayBase ()
 
virtual bool matchingDecay (const EvtDecayBase &other) const
 
EvtId getParentId ()
 
double getBranchingFraction ()
 
void disableCheckQ ()
 
void checkQ ()
 
int getNDaug ()
 
EvtIdgetDaugs ()
 
EvtId getDaug (int i)
 
int getNArg ()
 
int getPHOTOS ()
 
void setPHOTOS ()
 
void setVerbose ()
 
void setSummary ()
 
double * getArgs ()
 
std::string * getArgsStr ()
 
double getArg (int j)
 
std::string getArgStr (int j)
 
std::string getModelName ()
 
int getDSum ()
 
int summary ()
 
int verbose ()
 
void saveDecayInfo (EvtId ipar, int ndaug, EvtId *daug, int narg, std::vector< std::string > &args, std::string name, double brfr)
 
void printSummary ()
 
void setProbMax (double prbmx)
 
void noProbMax ()
 
void checkNArg (int a1, int a2=-1, int a3=-1, int a4=-1)
 
void checkNDaug (int d1, int d2=-1)
 
void checkSpinParent (EvtSpinType::spintype sp)
 
void checkSpinDaughter (int d1, EvtSpinType::spintype sp)
 
virtual int nRealDaughters ()
 

Static Public Member Functions

static void SVVHel (EvtParticle *parent, EvtAmp &amp, EvtId n_v1, EvtId n_v2, const EvtComplex &hp, const EvtComplex &h0, const EvtComplex &hm)
 
- Static Public Member Functions inherited from EvtDecayBase
static void findMasses (EvtParticle *p, int ndaugs, EvtId daugs[10], double masses[10])
 
static void findMass (EvtParticle *p)
 
static double findMaxMass (EvtParticle *p)
 

Additional Inherited Members

- Protected Member Functions inherited from EvtDecayBase
bool daugsDecayedByParentModel ()
 
- Protected Attributes inherited from EvtDecayAmp
EvtAmp _amp2
 
- Protected Attributes inherited from EvtDecayBase
bool _daugsDecayedByParentModel
 

Detailed Description

Definition at line 35 of file EvtSVVHelAmp.hh.

Constructor & Destructor Documentation

◆ EvtSVVHelAmp()

EvtSVVHelAmp::EvtSVVHelAmp ( )
inline

Definition at line 39 of file EvtSVVHelAmp.hh.

39{}

Referenced by clone().

◆ ~EvtSVVHelAmp()

EvtSVVHelAmp::~EvtSVVHelAmp ( )
virtual

Definition at line 37 of file EvtSVVHelAmp.cc.

37{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtSVVHelAmp::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 46 of file EvtSVVHelAmp.cc.

46 {
47
48 return new EvtSVVHelAmp;
49
50}

◆ decay()

void EvtSVVHelAmp::decay ( EvtParticle p)
virtual

Implements EvtDecayBase.

Definition at line 73 of file EvtSVVHelAmp.cc.

73 {
74
78 EvtComplex(getArg(4)*cos(getArg(5)),getArg(4)*sin(getArg(5))));
79
80 return ;
81
82}
double sin(const BesAngle a)
double cos(const BesAngle a)
EvtAmp _amp2
Definition: EvtDecayAmp.hh:66
double getArg(int j)
EvtId getDaug(int i)
Definition: EvtDecayBase.hh:66
static void SVVHel(EvtParticle *parent, EvtAmp &amp, EvtId n_v1, EvtId n_v2, const EvtComplex &hp, const EvtComplex &h0, const EvtComplex &hm)
Definition: EvtSVVHelAmp.cc:85

◆ getName()

void EvtSVVHelAmp::getName ( std::string &  name)
virtual

Implements EvtDecayBase.

Definition at line 39 of file EvtSVVHelAmp.cc.

39 {
40
41 model_name="SVV_HELAMP";
42
43}

◆ init()

void EvtSVVHelAmp::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 52 of file EvtSVVHelAmp.cc.

52 {
53
54 // check that there are 6 arguments
55 checkNArg(6);
56 checkNDaug(2);
57
59
62
63}
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void checkNDaug(int d1, int d2=-1)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)

◆ initProbMax()

void EvtSVVHelAmp::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 66 of file EvtSVVHelAmp.cc.

66 {
67
69
70}
void setProbMax(double prbmx)

◆ SVVHel()

void EvtSVVHelAmp::SVVHel ( EvtParticle parent,
EvtAmp amp,
EvtId  n_v1,
EvtId  n_v2,
const EvtComplex hp,
const EvtComplex h0,
const EvtComplex hm 
)
static

Definition at line 85 of file EvtSVVHelAmp.cc.

87 {
88
89 // Routine to decay a scalar into two vectors. Started
90 // by ryd on Oct 17, 1996.
91
92 int tndaug = 2;
93 EvtId tdaug[2];
94 tdaug[0] = n_v1;
95 tdaug[1] = n_v2;
96
97
98 parent->initializePhaseSpace(tndaug,tdaug);
99
100 EvtParticle *v1,*v2;
101 v1 = parent->getDaug(0);
102 v2 = parent->getDaug(1);
103
104 EvtVector4R momv1 = v1->getP4();
105 //EvtVector4R momv2 = v2->getP4();
106
107 EvtVector3R v1dir(momv1.get(1),momv1.get(2),momv1.get(3));
108 v1dir=v1dir/v1dir.d3mag();
109
110 EvtComplex a=-0.5*(hp+hm);
111 EvtComplex b=EvtComplex(0.0,0.5)*(hp-hm);
112 EvtComplex c=h0+0.5*(hp+hm);
113
115 b*eps(v1dir)+
116 c*directProd(v1dir,v1dir);
117
118 EvtVector3C t0=M.cont1(v1->eps(0).vec().conj());
119 EvtVector3C t1=M.cont1(v1->eps(1).vec().conj());
120 EvtVector3C t2=M.cont1(v1->eps(2).vec().conj());
121
122 EvtVector3C eps0=v2->eps(0).vec().conj();
123 EvtVector3C eps1=v2->eps(1).vec().conj();
124 EvtVector3C eps2=v2->eps(2).vec().conj();
125
126 amp.vertex(0,0,t0*eps0);
127 amp.vertex(0,1,t0*eps1);
128 amp.vertex(0,2,t0*eps2);
129
130 amp.vertex(1,0,t1*eps0);
131 amp.vertex(1,1,t1*eps1);
132 amp.vertex(1,2,t1*eps2);
133
134 amp.vertex(2,0,t2*eps0);
135 amp.vertex(2,1,t2*eps1);
136 amp.vertex(2,2,t2*eps2);
137
138 return ;
139
140}
Evt3Rank3C directProd(const EvtVector3C &c1, const EvtVector3C &c2, const EvtVector3C &c3)
EvtTensor3C eps(const EvtVector3R &v)
Definition: EvtTensor3C.cc:307
void vertex(const EvtComplex &amp)
Definition: EvtAmp.cc:477
Definition: EvtId.hh:27
const EvtVector4R & getP4() const
Definition: EvtParticle.cc:121
EvtParticle * getDaug(int i)
Definition: EvtParticle.cc:85
virtual EvtVector4C eps(int i) const
Definition: EvtParticle.cc:576
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
static const EvtTensor3C & id()
Definition: EvtTensor3C.cc:330
EvtVector3C conj() const
Definition: EvtVector3C.hh:171
EvtVector3C vec() const
Definition: EvtVector4C.hh:114
double get(int i) const
Definition: EvtVector4R.hh:179

Referenced by EvtSVVCP::decay(), EvtSVVCPLH::decay(), decay(), and EvtSVVNONCPEIGEN::decay().


The documentation for this class was generated from the following files: