CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtAmp.hh
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: EvtGen/EvtAmp.hh
12//
13// Description:This is the (new) amplitude class.
14//
15// Modification history:
16//
17// DJL/RYD May 29, 1997 Module created
18//
19//------------------------------------------------------------------------
20
21#ifndef EVTAMP_HH
22#define EVTAMP_HH
23
26
27class EvtSpinDensity;
28class EvtId;
29
30class EvtAmp {
31
32public:
33
34 EvtAmp();
35 virtual ~EvtAmp(){}
36
37 EvtAmp(const EvtAmp& amp);
38
39 void init(EvtId p,int ndaug,EvtId *daug);
40
41 void setAmp(int *ind,const EvtComplex& amp);
42
43 const EvtComplex& getAmp(int *ind)const;
44
46
47 EvtSpinDensity contract(int i,const EvtAmp& a);
48 EvtAmp contract(int i, const EvtSpinDensity& rho);
49
50 //sum over the i:th daugther of a1 and contract with parent of a2
51 EvtAmp contract(int i, const EvtAmp& a1,const EvtAmp& a2);
52
53
56
57 EvtAmp& operator=(const EvtAmp& amp);
58
59
60 /**
61 * sets the amplitudes calculated in the decay objects
62 */
63 void vertex(const EvtComplex& amp);
64
65 /**
66 * sets the amplitudes calculated in the decay objects
67 */
68 void vertex(int i1, const EvtComplex& amp);
69
70 /**
71 * sets the amplitudes calculated in the decay objects
72 */
73 void vertex(int i1, int i2, const EvtComplex& amp);
74
75 /**
76 * sets the amplitudes calculated in the decay objects
77 */
78 void vertex(int i1, int i2, int i3, const EvtComplex& amp);
79
80 /**
81 * sets the amplitudes calculated in the decay objects
82 */
83 void vertex(int *i1, const EvtComplex& amp);
84
85
86 void dump();
87
88private:
89
90 friend class EvtDecayAmp;
91 friend class EvtKstarstargamma;
92
93 void setNDaug(int n);
94 void setNState(int parent_states,int *daug_states);
95
96 // the amplitudes
97 EvtComplex _amp[450]; //for run RaritaShwinger particle, the lowest dimension need 144, or crashed. Deng z r and Ping rg
98
99 // the number of daughters
100 int _ndaug;
101
102 // the number of states of the parent
103 int _pstates;
104
105 // number of states of the daughter
106 int dstates[10];
107
108 // the nontrivial index of the daughter
109 int _dnontrivial[10];
110
111 // number of nontrivial daugts+parent
112 int _nontrivial;
113
114 // compact nstates
115 int _nstate[5];
116
117};
118
119
120#endif
121
const Int_t n
Definition: EvtAmp.hh:30
const EvtComplex & getAmp(int *ind) const
Definition: EvtAmp.cc:135
EvtSpinDensity contract(int i, const EvtAmp &a)
Definition: EvtAmp.cc:349
void setAmp(int *ind, const EvtComplex &amp)
Definition: EvtAmp.cc:122
void vertex(const EvtComplex &amp)
Definition: EvtAmp.cc:477
EvtAmp()
Definition: EvtAmp.cc:36
void dump()
Definition: EvtAmp.cc:425
EvtSpinDensity getBackwardSpinDensity(EvtSpinDensity *rho_list)
Definition: EvtAmp.cc:216
virtual ~EvtAmp()
Definition: EvtAmp.hh:35
EvtSpinDensity getForwardSpinDensity(EvtSpinDensity *rho_list, int k)
Definition: EvtAmp.cc:245
EvtSpinDensity getSpinDensity()
Definition: EvtAmp.cc:149
EvtAmp & operator=(const EvtAmp &amp)
Definition: EvtAmp.cc:510
Definition: EvtId.hh:27