CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
Evt3Rank3C.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: Evt3Rank3C.cc
12//
13// Description: Implementation of 3 Rank tensors.
14//
15// Modification history:
16//
17// RYD September 14, 1996 Module created
18//
19//------------------------------------------------------------------------
21
22#include <iostream>
23#include <math.h>
29
30
31
33
34 int i,j,k;
35
36 for(i=0;i<3;i++) {
37 for(j=0;j<3;j++) {
38 for(k=0;k<3;j++) {
39 t[i][j][k] = t1.t[i][j][k];
40 }
41 }
42 }
43}
44
46
47
49 int i,j,k;
50
51 for(i=0;i<3;i++) {
52 for(j=0;j<3;j++) {
53 for(k=0;k<3;k++) {
54 t[i][j][k] = t1.t[i][j][k];
55 }
56 }
57 }
58 return *this;
59}
60
61
63 Evt3Rank3C temp;
64
65 int i,j,k;
66
67 for(i=0;i<3;i++) {
68 for(j=0;j<3;j++) {
69 for(k=0;k<3;k++) {
70 temp.set(j,i,k,::conj(t[i][j][k]));
71 }
72 }
73 }
74 return temp;
75}
76
78 int i,j,k;
79 for(i=0;i<3;i++){
80 for(j=0;j<3;j++){
81 for(k=0;k<3;k++){
82 t[i][j][k]=EvtComplex(0.0,0.0);
83 }
84 }
85 }
86}
87
88
90
91 int i,j,k;
92
93 for(i=0;i<3;i++){
94 for(j=0;j<3;j++){
95 for(k=0;k<3;k++){
96 t[i][j][k]=EvtComplex(0.0,0.0);
97 }
98 }
99 }
100
101}
102
103void Evt3Rank3C::dump() const {
104 int i,j,k;
105 for(k=0;k<3;k++){
106 for(i=0;i<3;i++){
107 for(j=0;j<3;j++){
108 report(INFO,"EvtGen") <<t[k][i][j];
109 }
110 report(INFO,"EvtGen") << "\n";
111 }
112 }
113}
114
116
117 int i,j,k;
118
119 for (i=0;i<3;i++) {
120 for (j=0;j<3;j++) {
121 for (k=0;k<3;k++) {
122 t[i][j][k]+=t2.get(i,j,k);
123 }
124 }
125 }
126 return *this;
127}
128
130
131 int i,j,k;
132
133 for (i=0;i<3;i++) {
134 for (j=0;j<3;j++) {
135 for (k=0;k<3;k++) {
136 t[i][j][k]-=t2.get(i,j,k);
137 }
138 }
139 }
140
141 return *this;
142
143}
144
145
147
148 int i,j,k;
149
150 for (i=0;i<3;i++) {
151 for (j=0;j<3;j++) {
152 for (k=0;k<3;k++) {
153 t[i][j][k]*=c;
154 }
155 }
156 }
157 return *this;
158}
159
161 int i,j,k;
162
163 for (i=0;i<3;i++) {
164 for (j=0;j<3;j++) {
165 for (k=0;k<3;k++) {
166 t[i][j][k]*=EvtComplex(c);
167 }
168 }
169 }
170
171 return *this;
172
173}
174
176 Evt3Rank3C temp;
177
178 int i,j,k;
179
180 for(i=0;i<3;i++){
181 for(j=0;j<3;j++){
182 for(k=0;k<3;k++){
183 temp.set(i,j,k,::conj((t2.get(i,j,k))));
184 }
185 }
186 }
187 return temp;
188}
189
191 EvtTensor3C temp;
192
193 int i,k;
194
195 for(i=0;i<3;i++){
196 for(k=0;k<3;k++){
197 temp.set(i,k,t[0][i][k]*v.get(0)+t[1][i][k]*v.get(1)
198 +t[2][i][k]*v.get(2));
199 }
200 }
201 return temp;
202}
203
204
206 EvtTensor3C temp;
207
208 int i,k;
209
210 for(i=0;i<3;i++){
211 for(k=0;k<3;k++){
212 temp.set(i,k,t[i][0][k]*v.get(0)+t[i][1][k]*v.get(1)
213 +t[i][2][k]*v.get(2));
214 }
215 }
216 return temp;
217}
218
219
221 EvtTensor3C temp;
222
223 int i,k;
224
225 for(i=0;i<3;i++){
226 for(k=0;k<3;k++){
227 temp.set(i,k,t[i][k][0]*v.get(0)+t[i][k][1]*v.get(1)
228 +t[i][k][2]*v.get(2));
229 }
230 }
231 return temp;
232}
233
235 EvtTensor3C temp;
236
237 int i,k;
238
239 for(i=0;i<3;i++){
240 for(k=0;k<3;k++){
241 temp.set(i,k,t[0][i][k]*v.get(0)+t[1][i][k]*v.get(1)
242 +t[2][i][k]*v.get(2));
243 }
244 }
245 return temp;
246}
247
248
250 EvtTensor3C temp;
251
252 int i,k;
253
254 for(i=0;i<3;i++){
255 for(k=0;k<3;k++){
256 temp.set(i,k,t[i][0][k]*v.get(0)+t[i][1][k]*v.get(1)
257 +t[i][2][k]*v.get(2));
258 }
259 }
260 return temp;
261}
262
263
265 EvtTensor3C temp;
266
267 int i,k;
268
269 for(i=0;i<3;i++){
270 for(k=0;k<3;k++){
271 temp.set(i,k,t[i][k][0]*v.get(0)+t[i][k][1]*v.get(1)
272 +t[i][k][2]*v.get(2));
273 }
274 }
275 return temp;
276}
277
Evt3Rank3C conj(const Evt3Rank3C &t2)
Definition: Evt3Rank3C.cc:175
ostream & report(Severity severity, const char *facility)
Definition: EvtReport.cc:36
@ INFO
Definition: EvtReport.hh:52
**********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
Evt3Rank3C & operator-=(const Evt3Rank3C &t2)
Definition: Evt3Rank3C.cc:129
void zero()
Definition: Evt3Rank3C.cc:77
Evt3Rank3C & operator*=(const double d)
Definition: Evt3Rank3C.cc:160
virtual ~Evt3Rank3C()
Definition: Evt3Rank3C.cc:45
EvtTensor3C cont1(const EvtVector3C &v) const
Definition: Evt3Rank3C.cc:190
friend Evt3Rank3C conj(const Evt3Rank3C &t2)
Definition: Evt3Rank3C.cc:175
const EvtComplex & get(int i, int j, int k) const
Definition: Evt3Rank3C.hh:117
Evt3Rank3C & operator=(const Evt3Rank3C &t1)
Definition: Evt3Rank3C.cc:48
Evt3Rank3C & operator+=(const Evt3Rank3C &t2)
Definition: Evt3Rank3C.cc:115
void dump() const
Definition: Evt3Rank3C.cc:103
EvtTensor3C cont2(const EvtVector3C &v) const
Definition: Evt3Rank3C.cc:205
void set(int i, int j, int k, const EvtComplex &c)
Definition: Evt3Rank3C.hh:113
EvtTensor3C cont3(const EvtVector3C &v) const
Definition: Evt3Rank3C.cc:220
void set(int i, int j, const EvtComplex &c)
Definition: EvtTensor3C.hh:131