50 {
51
53
54
56
57 if (first) {
58
61 }
62
63 int entry,eventnum,numparticle,istat,partnum,mother;
64 int daugfirst,dauglast;
65
66 int numparticlephotos;
67
68 double px,py,pz,e,m,
x,y,z,
t;
69
82 static EvtIdSet quarks(dq,adq,uq,auq,sq,asq,cq,acq,bq,abq,tq,atq);\
83
84 px=0.0;
85 py=0.0;
86 pz=0.0;
90 y=0.0;
91 z=0.0;
93
94 entry=1;
95 eventnum=1;
96 numparticle=1;
97 istat=2;
99 mother=0;
100 daugfirst=2;
102
104 &mother,&daugfirst,&dauglast,
105 &px,&py,&pz,&e,&m,&x,&y,&z,&
t);
106
107 int i;
108
110
111
112 if (quarks.contains(p->
getDaug(i)->
getId())==1)
continue;
113
120 y=0.0;
121 z=0.0;
123
124
125 entry+=1;
126 eventnum=1;
127 numparticle+=1;
128 istat=1;
130 mother=1;
131 daugfirst=0;
132 dauglast=0;
133
135 &mother,&daugfirst,&dauglast,
136 &px,&py,&pz,&e,&m,&x,&y,&z,&
t);
137
138
139 }
140
141
142
143
144
145
146
147
148
149 entry=1;
150
151
153
154 begevtgengetx_(&entry,&eventnum,&numparticlephotos,&istat,&partnum,
155 &mother,&daugfirst,&dauglast,
156 &px,&py,&pz,&e,&m,&x,&y,&z,&
t);
157
158
159
160
161 if (numparticle==numparticlephotos) return;
162
164
165 int np;
166
168
169 entry=i+2;
170
172 &mother,&daugfirst,&dauglast,
173 &px,&py,&pz,&e,&m,&x,&y,&z,&
t);
174
175
176
178 e=sqrt(
mp*
mp+px*px+py*py+pz*pz);
179
180 new4mom.
set(e,px,py,pz);
181
183
184 }
185
186 for(entry=numparticle+1;entry<=numparticlephotos;entry++){
187
189 &mother,&daugfirst,&dauglast,
190 &px,&py,&pz,&e,&m,&x,&y,&z,&
t);
191
192 new4mom.
set(e,px,py,pz);
193
194
195
198 gamma->
init(GAMM,new4mom);
199
201
202
203
204 }
205 return ;
206}
void begevtgengetx_(int *, int *, int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, double *, double *, double *, double *, double *)
void begevtgenstorex_(int *, int *, int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, double *, double *, double *, double *, double *)
static int getStdHep(EvtId id)
static EvtId getId(const std::string &name)
const EvtVector4R & getP4() const
void setP4(const EvtVector4R &p4)
EvtParticle * getDaug(int i)
void addDaug(EvtParticle *node)
void init(EvtId part_n, double e, double px, double py, double pz)
void set(int i, double d)