Merge lp:~maddevelopers/mg5amcnlo/fix_decay_chain_problem into lp:~madteam/mg5amcnlo/trunk
- fix_decay_chain_problem
- Merge into trunk
Status: | Merged |
---|---|
Merged at revision: | 165 |
Proposed branch: | lp:~maddevelopers/mg5amcnlo/fix_decay_chain_problem |
Merge into: | lp:~madteam/mg5amcnlo/trunk |
Diff against target: |
2919 lines (+807/-613) 17 files modified
Template/SubProcesses/addmothers.f (+3/-8) Template/SubProcesses/cluster.f (+3/-2) Template/SubProcesses/genps.f (+2/-1) Template/SubProcesses/myamp.f (+14/-14) Template/SubProcesses/reweight.f (+1/-1) Template/SubProcesses/setcuts.f (+2/-1) Template/SubProcesses/symmetry.f (+20/-18) Template/SubProcesses/unwgt.f (+0/-19) UpdateNotes.txt (+11/-0) madgraph/VERSION (+2/-2) madgraph/core/base_objects.py (+25/-32) madgraph/core/helas_objects.py (+9/-0) madgraph/interface/cmd_interface.py (+0/-8) madgraph/iolibs/export_v4.py (+87/-29) madgraph/iolibs/group_subprocs.py (+5/-1) tests/unit_tests/iolibs/test_export_v4.py (+390/-477) tests/unit_tests/iolibs/test_group_subprocs.py (+233/-0) |
To merge this branch: | bzr merge lp:~maddevelopers/mg5amcnlo/fix_decay_chain_problem |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Olivier Mattelaer | Approve | ||
FabioMaltoni | Pending | ||
Review via email: mp+73158@code.launchpad.net |
Commit message
Description of the change
- Fixed problem with decay chains when different decays result in identical final states, such as
p p > go go, (go > b1/b1~ b/b~, b1/b1~ > b/b~ n1)
(only one of the decay chains was chosen, instead of all 3 combinations (b1,b1), (b1,b1~), (b1~,b1~))
- Allow for overall orders also with grouped subprocesses
- Ensure that only leading color flows are included in event output (so no singlet flows from color octets).
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
Could you also put gfortran as the default compiler.
(at least when gfortran and g77 are both define)
they are a lot of trouble with g77. see https:/
Cheers,
Olivier
Johan Alwall (johan-alwall) wrote : | # |
Hello Olivier,
The reason we use g77 as default is only that one of the clusters
didn't work (I think UIUC, the problem was that it had gfortran on the
server node but not on the cluster nodes, if I remember correctly, or
that the gfortran was too old). If this is fixed, then I'd be happy to
change.
Cheers,
Johan
- 170. By Johan Alwall
-
Removed debug output in addmothers, fixed multifermion problem in helas_objects.py
- 171. By Johan Alwall
-
Updated UpdateNotes
Johan Alwall (johan-alwall) wrote : | # |
Thanks, no that was indeed not supposed to be there :-)
Cheers,
Johan
Preview Diff
1 | === modified file 'Template/SubProcesses/addmothers.f' |
2 | --- Template/SubProcesses/addmothers.f 2011-08-25 21:54:53 +0000 |
3 | +++ Template/SubProcesses/addmothers.f 2011-09-01 14:57:19 +0000 |
4 | @@ -42,7 +42,7 @@ |
5 | |
6 | integer iforest(2,-max_branch:-1,lmaxconfigs) |
7 | common/to_forest/ iforest |
8 | - integer sprop(-max_branch:-1,lmaxconfigs) |
9 | + integer sprop(maxsproc,-max_branch:-1,lmaxconfigs) |
10 | integer tprid(-max_branch:-1,lmaxconfigs) |
11 | common/to_sprop/sprop,tprid |
12 | integer mapconfig(0:lmaxconfigs), iconfig |
13 | @@ -125,11 +125,6 @@ |
14 | icolalt(2,isym(i,jsym))=icolup(2,i,ic,numproc) |
15 | if (icolup(1,i,ic, numproc).gt.maxcolor) maxcolor=icolup(1,i,ic, numproc) |
16 | if (icolup(2,i,ic, numproc).gt.maxcolor) maxcolor=icolup(2,i,ic, numproc) |
17 | - else |
18 | - icolalt(1,i)=jpart(4,i) |
19 | - icolalt(2,i)=jpart(5,i) |
20 | - if (jpart(4,i).gt.maxcolor) maxcolor=jpart(4,i) |
21 | - if (jpart(5,i).gt.maxcolor) maxcolor=jpart(5,i) |
22 | endif |
23 | enddo |
24 | |
25 | @@ -159,8 +154,8 @@ |
26 | if(ida(j).gt.0) ida(j)=isym(ida(j),jsym) |
27 | enddo |
28 | c Decide s- or t-channel |
29 | - if(iabs(sprop(i,iconfig)).gt.0) then ! s-channel propagator |
30 | - jpart(1,i)=sprop(i,iconfig) |
31 | + if(iabs(sprop(numproc,i,iconfig)).gt.0) then ! s-channel propagator |
32 | + jpart(1,i)=sprop(numproc,i,iconfig) |
33 | ns=ns+1 |
34 | else |
35 | c Don't care about t-channel propagators |
36 | |
37 | === modified file 'Template/SubProcesses/cluster.f' |
38 | --- Template/SubProcesses/cluster.f 2011-05-10 22:00:41 +0000 |
39 | +++ Template/SubProcesses/cluster.f 2011-09-01 14:57:19 +0000 |
40 | @@ -202,11 +202,12 @@ |
41 | include 'nexternal.inc' |
42 | include 'cluster.inc' |
43 | include 'coupl.inc' |
44 | + include 'maxamps.inc' |
45 | integer ignum, ipnum, ipids(nexternal,4,2:nexternal) |
46 | C $B$ IFOREST $B$ !this is a tag for MadWeight |
47 | integer i, iforest(2,-max_branch:-1,lmaxconfigs) |
48 | common/to_forest/iforest |
49 | - integer sprop(-max_branch:-1,lmaxconfigs) |
50 | + integer sprop(maxsproc,-max_branch:-1,lmaxconfigs) |
51 | integer tprid(-max_branch:-1,lmaxconfigs) |
52 | common/to_sprop/sprop,tprid |
53 | C $E$ IFOREST $E$ !this is a tag for MadWeight |
54 | @@ -253,7 +254,7 @@ |
55 | icmp(2)=ishft(1,nexternal)-1-icmp(1) |
56 | c Set pdg code for propagator |
57 | do l=1,2 |
58 | - ipdgcl(icmp(l),ignum)=sprop(k,ignum) |
59 | + ipdgcl(icmp(l),ignum)=sprop(1,k,ignum) |
60 | if(ipdgcl(icmp(l),ignum).eq.0) |
61 | $ ipdgcl(icmp(l),ignum)=tprid(k,ignum) |
62 | c write(*,*) 'add table entry for (',ipids(i,1,ipnum), |
63 | |
64 | === modified file 'Template/SubProcesses/genps.f' |
65 | --- Template/SubProcesses/genps.f 2011-05-29 07:23:58 +0000 |
66 | +++ Template/SubProcesses/genps.f 2011-09-01 14:57:19 +0000 |
67 | @@ -85,6 +85,7 @@ |
68 | include 'genps.inc' |
69 | include 'maxconfigs.inc' |
70 | include 'nexternal.inc' |
71 | + include 'maxamps.inc' |
72 | double precision pi |
73 | parameter (pi=3.1415926d0) |
74 | c |
75 | @@ -107,7 +108,7 @@ |
76 | double precision tprb, mtot |
77 | double precision stot, xtau, dum |
78 | |
79 | - integer sprop(-max_branch:-1,lmaxconfigs) |
80 | + integer sprop(maxsproc,-max_branch:-1,lmaxconfigs) |
81 | integer tprid(-max_branch:-1,lmaxconfigs) |
82 | common/to_sprop/sprop,tprid |
83 | integer lwgt(0:maxconfigs,maxinvar) |
84 | |
85 | === modified file 'Template/SubProcesses/myamp.f' |
86 | --- Template/SubProcesses/myamp.f 2011-08-25 15:57:21 +0000 |
87 | +++ Template/SubProcesses/myamp.f 2011-09-01 14:57:19 +0000 |
88 | @@ -126,7 +126,7 @@ |
89 | include 'maxamps.inc' |
90 | integer iforest(2,-max_branch:-1,lmaxconfigs) |
91 | common/to_forest/ iforest |
92 | - integer sprop(-max_branch:-1,lmaxconfigs) |
93 | + integer sprop(maxsproc,-max_branch:-1,lmaxconfigs) |
94 | integer tprid(-max_branch:-1,lmaxconfigs) |
95 | common/to_sprop/sprop,tprid |
96 | integer mapconfig(0:lmaxconfigs), this_config |
97 | @@ -215,10 +215,10 @@ |
98 | do j=1,2 |
99 | ida(j)=iforest(j,i,iconfig) |
100 | if(ida(j).lt.0) then |
101 | - if(sprop(i,iconfig).eq.sprop(ida(j),iconfig)) |
102 | + if(sprop(1,i,iconfig).eq.sprop(1,ida(j),iconfig)) |
103 | $ idenpart=ida(j) |
104 | elseif (ida(j).gt.0) then |
105 | - if(sprop(i,iconfig).eq.IDUP(ida(j),1,1)) |
106 | + if(sprop(1,i,iconfig).eq.IDUP(ida(j),1,1)) |
107 | $ idenpart=ida(j) |
108 | endif |
109 | enddo |
110 | @@ -313,7 +313,7 @@ |
111 | integer iforest(2,-max_branch:-1,lmaxconfigs) |
112 | common/to_forest/ iforest |
113 | |
114 | - integer sprop(-max_branch:-1,lmaxconfigs) |
115 | + integer sprop(maxsproc,-max_branch:-1,lmaxconfigs) |
116 | integer tprid(-max_branch:-1,lmaxconfigs) |
117 | common/to_sprop/sprop,tprid |
118 | |
119 | @@ -381,26 +381,26 @@ |
120 | c JA 3/31/11 Keep track of identical particles (i.e., radiation vertices) |
121 | c by tracing the particle identity from the external particle. |
122 | if(iforest(1,i,iconfig).gt.0) then |
123 | - if (sprop(i,iconfig).eq.idup(iforest(1,i,iconfig),1,1)) |
124 | - $ iden_part(i) = sprop(i,iconfig) |
125 | + if (sprop(1,i,iconfig).eq.idup(iforest(1,i,iconfig),1,1)) |
126 | + $ iden_part(i) = sprop(1,i,iconfig) |
127 | endif |
128 | if(iforest(2,i,iconfig).gt.0) then |
129 | - if(sprop(i,iconfig).eq.idup(iforest(2,i,iconfig),1,1)) |
130 | - $ iden_part(i) = sprop(i,iconfig) |
131 | + if(sprop(1,i,iconfig).eq.idup(iforest(2,i,iconfig),1,1)) |
132 | + $ iden_part(i) = sprop(1,i,iconfig) |
133 | endif |
134 | if(iforest(1,i,iconfig).lt.0) then |
135 | if((iden_part(iforest(1,i,iconfig)).ne.0.and. |
136 | - $ sprop(i,iconfig).eq.iden_part(iforest(1,i,iconfig)) .or. |
137 | + $ sprop(1,i,iconfig).eq.iden_part(iforest(1,i,iconfig)) .or. |
138 | $ gforcebw(iforest(1,i,iconfig),iconfig).and. |
139 | - $ sprop(i,iconfig).eq.sprop(iforest(1,i,iconfig),iconfig))) |
140 | - $ iden_part(i) = sprop(i,iconfig) |
141 | + $ sprop(1,i,iconfig).eq.sprop(1,iforest(1,i,iconfig),iconfig))) |
142 | + $ iden_part(i) = sprop(1,i,iconfig) |
143 | endif |
144 | if(iforest(2,i,iconfig).lt.0) then |
145 | if((iden_part(iforest(2,i,iconfig)).ne.0.and. |
146 | - $ sprop(i,iconfig).eq.iden_part(iforest(2,i,iconfig)).or. |
147 | + $ sprop(1,i,iconfig).eq.iden_part(iforest(2,i,iconfig)).or. |
148 | $ gforcebw(iforest(2,i,iconfig),iconfig).and. |
149 | - $ sprop(i,iconfig).eq.sprop(iforest(2,i,iconfig),iconfig))) |
150 | - $ iden_part(i) = sprop(i,iconfig) |
151 | + $ sprop(1,i,iconfig).eq.sprop(1,iforest(2,i,iconfig),iconfig))) |
152 | + $ iden_part(i) = sprop(1,i,iconfig) |
153 | endif |
154 | if (iforest(1,i,iconfig) .eq. 1) tsgn=-1d0 |
155 | if (tsgn .eq. 1d0) then !s channel |
156 | |
157 | === modified file 'Template/SubProcesses/reweight.f' |
158 | --- Template/SubProcesses/reweight.f 2011-05-10 22:00:41 +0000 |
159 | +++ Template/SubProcesses/reweight.f 2011-09-01 14:57:19 +0000 |
160 | @@ -641,7 +641,7 @@ |
161 | |
162 | integer mapconfig(0:lmaxconfigs), this_config |
163 | integer iforest(2,-max_branch:-1,lmaxconfigs) |
164 | - integer sprop(-max_branch:-1,lmaxconfigs) |
165 | + integer sprop(maxsproc,-max_branch:-1,lmaxconfigs) |
166 | integer tprid(-max_branch:-1,lmaxconfigs) |
167 | include 'configs.inc' |
168 | real*8 xptj,xptb,xpta,xptl,xmtc |
169 | |
170 | === modified file 'Template/SubProcesses/setcuts.f' |
171 | --- Template/SubProcesses/setcuts.f 2011-06-01 21:40:33 +0000 |
172 | +++ Template/SubProcesses/setcuts.f 2011-09-01 14:57:19 +0000 |
173 | @@ -553,6 +553,7 @@ |
174 | include 'nexternal.inc' |
175 | include 'maxconfigs.inc' |
176 | include 'genps.inc' |
177 | + include 'maxamps.inc' |
178 | c |
179 | c Arguments |
180 | c |
181 | @@ -562,7 +563,7 @@ |
182 | c |
183 | integer iforest(2,-max_branch:-1,lmaxconfigs) |
184 | common/to_forest/ iforest |
185 | - integer sprop(-max_branch:-1,lmaxconfigs) |
186 | + integer sprop(maxsproc,-max_branch:-1,lmaxconfigs) |
187 | integer tprid(-max_branch:-1,lmaxconfigs) |
188 | common/to_sprop/sprop,tprid |
189 | logical gForceBW(-max_branch:-1,lmaxconfigs) ! Forced BW |
190 | |
191 | === modified file 'Template/SubProcesses/symmetry.f' |
192 | --- Template/SubProcesses/symmetry.f 2011-08-07 19:55:37 +0000 |
193 | +++ Template/SubProcesses/symmetry.f 2011-09-01 14:57:19 +0000 |
194 | @@ -10,6 +10,7 @@ |
195 | include 'genps.inc' |
196 | include 'maxconfigs.inc' |
197 | include '../../Source/run_config.inc' |
198 | + include 'maxamps.inc' |
199 | |
200 | double precision ZERO |
201 | parameter (ZERO = 0d0) |
202 | @@ -36,7 +37,7 @@ |
203 | c DATA |
204 | c |
205 | integer iforest(2,-max_branch:-1,lmaxconfigs) |
206 | - integer sprop(-max_branch:-1,lmaxconfigs) |
207 | + integer sprop(maxsproc,-max_branch:-1,lmaxconfigs) |
208 | integer tprid(-max_branch:-1,lmaxconfigs) |
209 | include 'configs.inc' |
210 | data use_config/0,lmaxconfigs*0/ |
211 | @@ -210,6 +211,7 @@ |
212 | include 'maxconfigs.inc' |
213 | include 'nexternal.inc' |
214 | include '../../Source/run_config.inc' |
215 | + include 'maxamps.inc' |
216 | integer imax, ibase |
217 | parameter (imax=max_branch-1, ibase=3) |
218 | c |
219 | @@ -218,7 +220,7 @@ |
220 | integer mapconfig(0:lmaxconfigs),use_config(0:lmaxconfigs) |
221 | double precision pwidth(-max_branch:-1,lmaxconfigs) !Propagotor width |
222 | integer iforest(2,-max_branch:-1,lmaxconfigs) |
223 | - integer sprop(-max_branch:-1,lmaxconfigs) |
224 | + integer sprop(maxsproc,-max_branch:-1,lmaxconfigs) |
225 | integer jcomp |
226 | |
227 | c |
228 | @@ -244,7 +246,7 @@ |
229 | do i=1,mapconfig(0) |
230 | if (use_config(i) .gt. 0) then |
231 | call bw_conflict(i,iforest(1,-max_branch,i),lconflict, |
232 | - $ sprop(-max_branch,i), gForceBW(-max_branch,i)) |
233 | + $ sprop(1,-max_branch,i), gForceBW(-max_branch,i)) |
234 | nbw=0 !Look for B.W. resonances |
235 | if (jcomp .eq. 0 .or. jcomp .eq. 1 .or. .true.) then |
236 | do j=1,imax |
237 | @@ -253,7 +255,7 @@ |
238 | do j=1,nexternal-3 |
239 | c write(*,*) 'Width',pwidth(-j,i),j,i |
240 | nbw=nbw+1 |
241 | - if (pwidth(-j,i) .gt. 1d-20 .and. sprop(-j,i).ne.0) then |
242 | + if (pwidth(-j,i) .gt. 1d-20 .and. sprop(1,-j,i).ne.0) then |
243 | write(*,*) 'Got bw',-nbw,j |
244 | c JA 4/8/11 don't treat forced BW differently |
245 | if(lconflict(-j)) then |
246 | @@ -309,7 +311,7 @@ |
247 | c same thing as above for the bash file |
248 | c |
249 | call bw_conflict(i,iforest(1,-max_branch,i),lconflict, |
250 | - $ sprop(-max_branch,i), gForceBW(-max_branch,i)) |
251 | + $ sprop(1,-max_branch,i), gForceBW(-max_branch,i)) |
252 | nbw=0 !Look for B.W. resonances |
253 | if (jcomp .eq. 0 .or. jcomp .eq. 1 .or. .true.) then |
254 | do j=1,imax |
255 | @@ -317,7 +319,7 @@ |
256 | enddo |
257 | do j=1,nexternal-3 |
258 | nbw=nbw+1 |
259 | - if (pwidth(-j,i) .gt. 1d-20 .and. sprop(-j,i).ne.0) then |
260 | + if (pwidth(-j,i) .gt. 1d-20 .and. sprop(1,-j,i).ne.0) then |
261 | write(*,*) 'Got bw',nbw,j |
262 | c JA 4/8/11 don't treat forced BW differently |
263 | if(lconflict(-j)) then |
264 | @@ -360,6 +362,7 @@ |
265 | c |
266 | include 'genps.inc' |
267 | include 'maxconfigs.inc' |
268 | + include 'maxamps.inc' |
269 | include 'nexternal.inc' |
270 | double precision zero |
271 | parameter (zero=0d0) |
272 | @@ -369,7 +372,7 @@ |
273 | c |
274 | integer itree(2,-max_branch:-1),iconfig |
275 | logical lconflict(-max_branch:nexternal) |
276 | - integer sprop(-max_branch:-1) ! Propagator id |
277 | + integer sprop(maxsproc,-max_branch:-1) ! Propagator id |
278 | logical forcebw(-max_branch:-1) ! Forced BW, for identical particle conflicts |
279 | c |
280 | c local |
281 | @@ -380,7 +383,6 @@ |
282 | double precision pmass(-max_branch:-1,lmaxconfigs) !Propagator mass |
283 | double precision pow(-max_branch:-1,lmaxconfigs) !Not used, in props.inc |
284 | double precision xmass(-max_branch:nexternal) |
285 | - include 'maxamps.inc' |
286 | integer idup(nexternal,maxproc,maxsproc) |
287 | integer mothup(2,nexternal) |
288 | integer icolup(2,nexternal,maxflow,maxsproc) |
289 | @@ -416,26 +418,26 @@ |
290 | c JA 3/31/11 Keep track of identical particles (i.e., radiation vertices) |
291 | c by tracing the particle identity from the external particle. |
292 | if(itree(1,-i).gt.0) then |
293 | - if(sprop(-i).eq.idup(itree(1,-i),1,1)) |
294 | - $ iden_part(-i) = sprop(-i) |
295 | + if(sprop(1,-i).eq.idup(itree(1,-i),1,1)) |
296 | + $ iden_part(-i) = sprop(1,-i) |
297 | endif |
298 | if(itree(2,-i).gt.0) then |
299 | - if(sprop(-i).eq.idup(itree(2,-i),1,1)) |
300 | - $ iden_part(-i) = sprop(-i) |
301 | + if(sprop(1,-i).eq.idup(itree(2,-i),1,1)) |
302 | + $ iden_part(-i) = sprop(1,-i) |
303 | endif |
304 | if(itree(1,-i).lt.0) then |
305 | if(iden_part(itree(1,-i)).ne.0.and. |
306 | - $ sprop(-i).eq.iden_part(itree(1,-i)) .or. |
307 | + $ sprop(1,-i).eq.iden_part(itree(1,-i)) .or. |
308 | $ forcebw(itree(1,-i)).and. |
309 | - $ sprop(-i).eq.sprop(itree(1,-i))) |
310 | - $ iden_part(-i) = sprop(-i) |
311 | + $ sprop(1,-i).eq.sprop(1,itree(1,-i))) |
312 | + $ iden_part(-i) = sprop(1,-i) |
313 | endif |
314 | if(itree(2,-i).lt.0) then |
315 | if(iden_part(itree(2,-i)).ne.0.and. |
316 | - $ sprop(-i).eq.iden_part(itree(2,-i)).or. |
317 | + $ sprop(1,-i).eq.iden_part(itree(2,-i)).or. |
318 | $ forcebw(itree(2,-i)).and. |
319 | - $ sprop(-i).eq.sprop(itree(2,-i))) |
320 | - $ iden_part(-i) = sprop(-i) |
321 | + $ sprop(1,-i).eq.sprop(1,itree(2,-i))) |
322 | + $ iden_part(-i) = sprop(1,-i) |
323 | endif |
324 | if (xmass(-i) .gt. pmass(-i,iconfig) .and. |
325 | $ iden_part(-i).eq.0) then !Can't be on shell, and not radiation |
326 | |
327 | === modified file 'Template/SubProcesses/unwgt.f' |
328 | --- Template/SubProcesses/unwgt.f 2011-08-19 00:06:00 +0000 |
329 | +++ Template/SubProcesses/unwgt.f 2011-09-01 14:57:19 +0000 |
330 | @@ -462,23 +462,6 @@ |
331 | endif |
332 | |
333 | c |
334 | -c Now choose a color flow |
335 | -c |
336 | - nc = jamp2(0) |
337 | -c ncols=jamp2(0) |
338 | - if(nc.gt.0)then |
339 | - targetamp(1)=jamp2(1) |
340 | - do ic =2,nc |
341 | - targetamp(ic) = jamp2(ic)+targetamp(ic-1) |
342 | - enddo |
343 | - xtarget=ran1(iseed)*targetamp(nc) |
344 | - ic = 1 |
345 | - do while (targetamp(ic) .lt. xtarget .and. ic .lt. nc) |
346 | - ic=ic+1 |
347 | - enddo |
348 | -c ncolflow(ic)=ncolflow(ic)+1 |
349 | - endif |
350 | -c |
351 | c In case of identical particles symmetry, choose assignment |
352 | c |
353 | xtarget = ran1(iseed)*nsym |
354 | @@ -493,8 +476,6 @@ |
355 | jpart(1,isym(i,jsym)) = idup(i,ip,numproc) |
356 | jpart(2,isym(i,jsym)) = mothup(1,i) |
357 | jpart(3,isym(i,jsym)) = mothup(2,i) |
358 | - jpart(4,isym(i,jsym)) = icolup(1,i,ic,numproc) |
359 | - jpart(5,isym(i,jsym)) = icolup(2,i,ic,numproc) |
360 | jpart(6,isym(i,jsym)) = 1 |
361 | enddo |
362 | do i=1,nincoming |
363 | |
364 | === modified file 'UpdateNotes.txt' |
365 | --- UpdateNotes.txt 2011-08-26 14:39:45 +0000 |
366 | +++ UpdateNotes.txt 2011-09-01 14:57:19 +0000 |
367 | @@ -1,5 +1,16 @@ |
368 | Update notes for MadGraph 5 (in reverse time order) |
369 | |
370 | +1.3.12 (01/09/11) JA: Fixed problem with decay chains when different decays |
371 | + result in identical final states, such as |
372 | + p p > go go, (go > b1/b1~ b/b~, b1/b1~ > b/b~ n1) |
373 | + (only one of the decay chains was chosen, instead of |
374 | + all 3 combinations (b1,b1), (b1,b1~), (b1~,b1~)) |
375 | + JA: Allow for overall orders also with grouped subprocesses |
376 | + JA: Ensure that only leading color flows are included in event |
377 | + output (so no singlet flows from color octets). |
378 | + JA: Fixed small bug in fermion flow determination for multifermion |
379 | + vertices. |
380 | + |
381 | 1.3.11 (26/08/11) JA: Improved precision of "survey" by allowing 4th and 5th |
382 | iteration if accuracy after 3 iterations < 10%. |
383 | JA: Subdivide BW in phase space integration for conflicting BWs |
384 | |
385 | === modified file 'madgraph/VERSION' |
386 | --- madgraph/VERSION 2011-08-26 14:39:45 +0000 |
387 | +++ madgraph/VERSION 2011-09-01 14:57:19 +0000 |
388 | @@ -1,3 +1,3 @@ |
389 | -version = 1.3.11 |
390 | -date = 2011-08-26 |
391 | +version = 1.3.12 |
392 | +date = 2011-08-27 |
393 | |
394 | |
395 | === modified file 'madgraph/core/base_objects.py' |
396 | --- madgraph/core/base_objects.py 2011-07-22 20:03:49 +0000 |
397 | +++ madgraph/core/base_objects.py 2011-09-01 14:57:19 +0000 |
398 | @@ -1864,11 +1864,16 @@ |
399 | self.get('legs'))[0].get('id') |
400 | |
401 | def get_final_legs(self): |
402 | - """Gives the pdg codes for initial state particles""" |
403 | + """Gives the final state legs""" |
404 | |
405 | return filter(lambda leg: leg.get('state') == True, |
406 | self.get('legs')) |
407 | |
408 | + def get_final_ids(self): |
409 | + """Gives the pdg codes for final state particles""" |
410 | + |
411 | + return [l.get('id') for l in self.get_final_legs()] |
412 | + |
413 | def get_legs_with_decays(self): |
414 | """Return process with all decay chains substituted in.""" |
415 | |
416 | @@ -1889,41 +1894,29 @@ |
417 | |
418 | return LegList(legs) |
419 | |
420 | + def list_for_sort(self): |
421 | + """Output a list that can be compared to other processes as: |
422 | + [id, sorted(initial leg ids), sorted(final leg ids), |
423 | + sorted(decay list_for_sorts)]""" |
424 | + |
425 | + sorted_list = [self.get('id'), |
426 | + sorted(self.get_initial_ids()), |
427 | + sorted(self.get_final_ids())] |
428 | + |
429 | + if self.get('decay_chains'): |
430 | + sorted_list.extend(sorted([d.list_for_sort() for d in \ |
431 | + self.get('decay_chains')])) |
432 | + |
433 | + return sorted_list |
434 | + |
435 | def compare_for_sort(self, other): |
436 | """Sorting routine which allows to sort processes for |
437 | comparison. Compare only process id and legs.""" |
438 | |
439 | - if self['id'] != other['id']: |
440 | - return self['id'] - other['id'] |
441 | - |
442 | - initlegs = sorted([l.get('id') for l in \ |
443 | - filter(lambda leg: not leg.get('state'), |
444 | - self['legs'])]) |
445 | - otherinitlegs = sorted([l.get('id') for l in \ |
446 | - filter(lambda leg: not leg.get('state'), |
447 | - self['legs'])]) |
448 | - |
449 | - if len(initlegs) != len(otherinitlegs): |
450 | - return len(initlegs) - len(otherinitlegs) |
451 | - |
452 | - for leg, otherleg in zip(initlegs, otherinitlegs): |
453 | - if leg != otherleg: |
454 | - return leg - otherleg |
455 | - |
456 | - legs = sorted([l.get('id') for l in \ |
457 | - filter(lambda leg: leg.get('state'), |
458 | - self.get_legs_with_decays())]) |
459 | - otherlegs = sorted([l.get('id') for l in \ |
460 | - filter(lambda leg: leg.get('state'), |
461 | - other.get_legs_with_decays())]) |
462 | - |
463 | - if len(legs) != len(otherlegs): |
464 | - return len(legs) - len(otherlegs) |
465 | - |
466 | - for leg, otherleg in zip(legs, otherlegs): |
467 | - if leg != otherleg: |
468 | - return leg - otherleg |
469 | - |
470 | + if self.list_for_sort() > other.list_for_sort(): |
471 | + return 1 |
472 | + if self.list_for_sort() < other.list_for_sort(): |
473 | + return -1 |
474 | return 0 |
475 | |
476 | def identical_particle_factor(self): |
477 | |
478 | === modified file 'madgraph/core/helas_objects.py' |
479 | --- madgraph/core/helas_objects.py 2011-06-01 21:18:40 +0000 |
480 | +++ madgraph/core/helas_objects.py 2011-09-01 14:57:19 +0000 |
481 | @@ -32,6 +32,8 @@ |
482 | import madgraph.core.color_amp as color_amp |
483 | import madgraph.core.color_algebra as color |
484 | |
485 | +from madgraph import MadGraph5Error |
486 | + |
487 | #=============================================================================== |
488 | # |
489 | #=============================================================================== |
490 | @@ -1304,6 +1306,8 @@ |
491 | wf_number, |
492 | force_flip_flow, |
493 | number_to_wavefunctions) |
494 | + # Already ran for all clashes, abort loop |
495 | + break |
496 | |
497 | return wf_number |
498 | |
499 | @@ -3736,6 +3740,7 @@ |
500 | decay_chain = dc_amplitude.get('decay_chains').pop(0) |
501 | self['decay_chains'].append(HelasDecayChainProcess(\ |
502 | decay_chain)) |
503 | + |
504 | |
505 | def combine_decay_chain_processes(self): |
506 | """Recursive function to generate complete |
507 | @@ -4125,6 +4130,10 @@ |
508 | matrix_element.set('color_matrix', |
509 | list_color_matrices[col_index]) |
510 | |
511 | + if not matrix_elements: |
512 | + raise MadGraph5Error, \ |
513 | + "No matrix elements generated, check overall coupling orders" |
514 | + |
515 | return matrix_elements |
516 | |
517 | @staticmethod |
518 | |
519 | === modified file 'madgraph/interface/cmd_interface.py' |
520 | --- madgraph/interface/cmd_interface.py 2011-07-09 15:50:23 +0000 |
521 | +++ madgraph/interface/cmd_interface.py 2011-09-01 14:57:19 +0000 |
522 | @@ -2039,14 +2039,6 @@ |
523 | required_schannel_ids = [required_schannel_ids] |
524 | |
525 | |
526 | - #decay_process = len(filter(lambda leg: \ |
527 | - # leg.get('state') == False, |
528 | - # myleglist)) == 1 |
529 | - |
530 | - if overall_orders and self._options['group_subprocesses']: |
531 | - raise MadGraph5Error, \ |
532 | - "For grouped subprocess output, orders should be specified for each process (no overall orders after @N)" |
533 | - |
534 | return \ |
535 | base_objects.ProcessDefinition({'legs': myleglist, |
536 | 'model': self._curr_model, |
537 | |
538 | === modified file 'madgraph/iolibs/export_v4.py' |
539 | --- madgraph/iolibs/export_v4.py 2011-07-18 16:03:16 +0000 |
540 | +++ madgraph/iolibs/export_v4.py 2011-09-01 14:57:19 +0000 |
541 | @@ -445,15 +445,22 @@ |
542 | # There is a color basis - create a list showing which JAMPs have |
543 | # contributions to which configs |
544 | |
545 | + # Only want to include leading color flows, so find max_Nc |
546 | + color_basis = matrix_element.get('color_basis') |
547 | + max_Nc = max(sum([[v[4] for v in val] for val in color_basis.values()], |
548 | + [])) |
549 | + |
550 | # Crate dictionary between diagram number and JAMP number |
551 | diag_jamp = {} |
552 | for ijamp, col_basis_elem in \ |
553 | enumerate(sorted(matrix_element.get('color_basis').keys())): |
554 | for diag_tuple in matrix_element.get('color_basis')[col_basis_elem]: |
555 | - diag_num = diag_tuple[0] + 1 |
556 | - # Add this JAMP number to this diag_num |
557 | - diag_jamp[diag_num] = diag_jamp.setdefault(diag_num, []) + \ |
558 | - [ijamp+1] |
559 | + # Only use color flows with Nc == max_Nc |
560 | + if diag_tuple[4] == max_Nc: |
561 | + diag_num = diag_tuple[0] + 1 |
562 | + # Add this JAMP number to this diag_num |
563 | + diag_jamp[diag_num] = diag_jamp.setdefault(diag_num, []) + \ |
564 | + [ijamp+1] |
565 | |
566 | colamps = ijamp + 1 |
567 | |
568 | @@ -1455,7 +1462,7 @@ |
569 | configs = [(i+1, d) for i,d in enumerate(matrix_element.get('diagrams'))] |
570 | mapconfigs = [c[0] for c in configs] |
571 | return mapconfigs, self.write_configs_file_from_diagrams(writer, |
572 | - [c[1] for c in configs], |
573 | + [[c[1]] for c in configs], |
574 | mapconfigs, |
575 | nexternal, ninitial) |
576 | |
577 | @@ -1465,31 +1472,65 @@ |
578 | def write_configs_file_from_diagrams(self, writer, configs, mapconfigs, |
579 | nexternal, ninitial): |
580 | """Write the actual configs.inc file. |
581 | - configs is the diagrams corresponding to configs, |
582 | - mapconfigs gives the diagram number for each config.""" |
583 | + |
584 | + configs is the diagrams corresponding to configs (each |
585 | + diagrams is a list of corresponding diagrams for all |
586 | + subprocesses, with None if there is no corresponding diagrams |
587 | + for a given process). |
588 | + mapconfigs gives the diagram number for each config. |
589 | + |
590 | + For s-channels, we need to output one PDG for each subprocess in |
591 | + the subprocess group, in order to be able to pick the right |
592 | + one for multiprocesses.""" |
593 | |
594 | lines = [] |
595 | |
596 | s_and_t_channels = [] |
597 | |
598 | - minvert = min([max(diag.get_vertex_leg_numbers()) for diag in configs]) |
599 | + minvert = min([max([d for d in config if d][0].get_vertex_leg_numbers()) \ |
600 | + for config in configs]) |
601 | + |
602 | + # Number of subprocesses |
603 | + nsubprocs = len(configs[0]) |
604 | |
605 | nconfigs = 0 |
606 | |
607 | - for iconfig, helas_diag in enumerate(configs): |
608 | + for iconfig, helas_diags in enumerate(configs): |
609 | if any([vert > minvert for vert in |
610 | - helas_diag.get_vertex_leg_numbers()]): |
611 | + [d for d in helas_diags if d][0].get_vertex_leg_numbers()]): |
612 | # Only 3-vertices allowed in configs.inc |
613 | continue |
614 | nconfigs += 1 |
615 | |
616 | - # Need to reorganize the topology so that we start with all |
617 | - # final state external particles and work our way inwards |
618 | - |
619 | - schannels, tchannels = helas_diag.get('amplitudes')[0].\ |
620 | - get_s_and_t_channels(ninitial) |
621 | - |
622 | - s_and_t_channels.append([schannels, tchannels]) |
623 | + # Need s- and t-channels for all subprocesses, including |
624 | + # those that don't contribute to this config |
625 | + empty_verts = [] |
626 | + stchannels = [] |
627 | + for h in helas_diags: |
628 | + if h: |
629 | + # get_s_and_t_channels gives vertices starting from |
630 | + # final state external particles and working inwards |
631 | + stchannels.append(h.get('amplitudes')[0].\ |
632 | + get_s_and_t_channels(ninitial)) |
633 | + else: |
634 | + stchannels.append((empty_verts, None)) |
635 | + |
636 | + # For t-channels, just need the first non-empty one |
637 | + tchannels = [t for s,t in stchannels if t != None][0] |
638 | + |
639 | + # For s_and_t_channels (to be used later) use only first config |
640 | + s_and_t_channels.append([[s for s,t in stchannels if t != None][0], |
641 | + tchannels]) |
642 | + |
643 | + # Make sure empty_verts is same length as real vertices |
644 | + if any([s for s,t in stchannels]): |
645 | + empty_verts[:] = [None]*max([len(s) for s,t in stchannels]) |
646 | + |
647 | + # Reorganize s-channel vertices to get a list of all |
648 | + # subprocesses for each vertex |
649 | + schannels = zip(*[s for s,t in stchannels]) |
650 | + else: |
651 | + schannels = [] |
652 | |
653 | allchannels = schannels |
654 | if len(tchannels) > 1: |
655 | @@ -1503,24 +1544,35 @@ |
656 | lines.append("data mapconfig(%d)/%d/" % (nconfigs, |
657 | mapconfigs[iconfig])) |
658 | |
659 | - for vert in allchannels: |
660 | + for verts in allchannels: |
661 | + if verts in schannels: |
662 | + vert = [v for v in verts if v][0] |
663 | + else: |
664 | + vert = verts |
665 | daughters = [leg.get('number') for leg in vert.get('legs')[:-1]] |
666 | last_leg = vert.get('legs')[-1] |
667 | lines.append("data (iforest(i,%d,%d),i=1,%d)/%s/" % \ |
668 | (last_leg.get('number'), nconfigs, len(daughters), |
669 | ",".join([str(d) for d in daughters]))) |
670 | - if vert in schannels: |
671 | - lines.append("data sprop(%d,%d)/%d/" % \ |
672 | - (last_leg.get('number'), nconfigs, |
673 | - last_leg.get('id'))) |
674 | + if verts in schannels: |
675 | + pdgs = [] |
676 | + for v in verts: |
677 | + if v: |
678 | + pdgs.append(v.get('legs')[-1].get('id')) |
679 | + else: |
680 | + pdgs.append(0) |
681 | + lines.append("data (sprop(i,%d,%d),i=1,%d)/%s/" % \ |
682 | + (last_leg.get('number'), nconfigs, nsubprocs, |
683 | + ",".join([str(d) for d in pdgs]))) |
684 | lines.append("data tprid(%d,%d)/0/" % \ |
685 | (last_leg.get('number'), nconfigs)) |
686 | - elif vert in tchannels[:-1]: |
687 | + elif verts in tchannels[:-1]: |
688 | lines.append("data tprid(%d,%d)/%d/" % \ |
689 | (last_leg.get('number'), nconfigs, |
690 | abs(last_leg.get('id')))) |
691 | - lines.append("data sprop(%d,%d)/0/" % \ |
692 | - (last_leg.get('number'), nconfigs)) |
693 | + lines.append("data (sprop(i,%d,%d),i=1,%d)/%s/" % \ |
694 | + (last_leg.get('number'), nconfigs, nsubprocs, |
695 | + ",".join(['0'] * nsubprocs))) |
696 | |
697 | # Write out number of configs |
698 | lines.append("# Number of configs") |
699 | @@ -2223,7 +2275,8 @@ |
700 | matrix_elements): |
701 | """Write the coloramps.inc file for MadEvent in Subprocess group mode""" |
702 | |
703 | - # Create a map from subprocess (matrix element) to a list of the diagrams corresponding to each config |
704 | + # Create a map from subprocess (matrix element) to a list of |
705 | + # the diagrams corresponding to each config |
706 | |
707 | lines = [] |
708 | |
709 | @@ -2287,9 +2340,14 @@ |
710 | # Check if any diagrams correspond to this config |
711 | if set(config) == set([0]): |
712 | continue |
713 | - subproc, diag = [(i,d - 1) for (i,d) in enumerate(config) \ |
714 | - if d > 0][0] |
715 | - diagrams.append(matrix_elements[subproc].get('diagrams')[diag]) |
716 | + subproc_diags = [] |
717 | + for s,d in enumerate(config): |
718 | + if d: |
719 | + subproc_diags.append(matrix_elements[s].\ |
720 | + get('diagrams')[d-1]) |
721 | + else: |
722 | + subproc_diags.append(None) |
723 | + diagrams.append(subproc_diags) |
724 | config_numbers.append(iconfig + 1) |
725 | |
726 | # Extract number of external particles |
727 | |
728 | === modified file 'madgraph/iolibs/group_subprocs.py' |
729 | --- madgraph/iolibs/group_subprocs.py 2011-06-01 21:18:40 +0000 |
730 | +++ madgraph/iolibs/group_subprocs.py 2011-09-01 14:57:19 +0000 |
731 | @@ -556,7 +556,11 @@ |
732 | for a in g.get('amplitudes')] \ |
733 | for g in group.get('core_groups')])] |
734 | |
735 | - assert len(decay_group) == 1 |
736 | + assert len(decay_group) > 0 |
737 | + |
738 | + for i in range(1,len(decay_group)): |
739 | + assert decay_group[i-1][1] == decay_group[i][1] |
740 | + |
741 | decay_group = decay_group[0] |
742 | |
743 | group_assignment = \ |
744 | |
745 | === modified file 'tests/unit_tests/iolibs/test_export_v4.py' |
746 | --- tests/unit_tests/iolibs/test_export_v4.py 2011-07-22 12:29:10 +0000 |
747 | +++ tests/unit_tests/iolibs/test_export_v4.py 2011-09-01 14:57:19 +0000 |
748 | @@ -619,41 +619,40 @@ |
749 | goal_configs = """C Diagram 1 |
750 | DATA MAPCONFIG(1)/1/ |
751 | DATA (IFOREST(I,-1,1),I=1,2)/4,3/ |
752 | - DATA SPROP(-1,1)/21/ |
753 | + DATA (SPROP(I,-1,1),I=1,2)/21,21/ |
754 | DATA TPRID(-1,1)/0/ |
755 | C Diagram 2 |
756 | DATA MAPCONFIG(2)/2/ |
757 | DATA (IFOREST(I,-1,2),I=1,2)/4,3/ |
758 | - DATA SPROP(-1,2)/22/ |
759 | + DATA (SPROP(I,-1,2),I=1,2)/22,22/ |
760 | DATA TPRID(-1,2)/0/ |
761 | C Diagram 3 |
762 | DATA MAPCONFIG(3)/3/ |
763 | DATA (IFOREST(I,-1,3),I=1,2)/4,3/ |
764 | - DATA SPROP(-1,3)/23/ |
765 | + DATA (SPROP(I,-1,3),I=1,2)/23,23/ |
766 | DATA TPRID(-1,3)/0/ |
767 | C Diagram 4 |
768 | DATA MAPCONFIG(4)/4/ |
769 | DATA (IFOREST(I,-1,4),I=1,2)/1,3/ |
770 | DATA TPRID(-1,4)/21/ |
771 | - DATA SPROP(-1,4)/0/ |
772 | + DATA (SPROP(I,-1,4),I=1,2)/0,0/ |
773 | DATA (IFOREST(I,-2,4),I=1,2)/-1,4/ |
774 | C Diagram 5 |
775 | DATA MAPCONFIG(5)/5/ |
776 | DATA (IFOREST(I,-1,5),I=1,2)/1,3/ |
777 | DATA TPRID(-1,5)/22/ |
778 | - DATA SPROP(-1,5)/0/ |
779 | + DATA (SPROP(I,-1,5),I=1,2)/0,0/ |
780 | DATA (IFOREST(I,-2,5),I=1,2)/-1,4/ |
781 | C Diagram 6 |
782 | DATA MAPCONFIG(6)/6/ |
783 | DATA (IFOREST(I,-1,6),I=1,2)/1,3/ |
784 | DATA TPRID(-1,6)/23/ |
785 | - DATA SPROP(-1,6)/0/ |
786 | + DATA (SPROP(I,-1,6),I=1,2)/0,0/ |
787 | DATA (IFOREST(I,-2,6),I=1,2)/-1,4/ |
788 | C Number of configs |
789 | DATA MAPCONFIG(0)/6/ |
790 | """ |
791 | #print open(self.give_pos('test')).read() |
792 | - |
793 | self.assertFileContains('test', goal_configs) |
794 | |
795 | # Test config_subproc_map.inc |
796 | @@ -682,15 +681,16 @@ |
797 | matrix_elements) |
798 | |
799 | #print open(self.give_pos('test')).read() |
800 | + |
801 | self.assertFileContains('test', |
802 | """ LOGICAL ICOLAMP(2,6,2) |
803 | - DATA(ICOLAMP(I,1,1),I=1,2)/.TRUE.,.TRUE./ |
804 | + DATA(ICOLAMP(I,1,1),I=1,2)/.FALSE.,.TRUE./ |
805 | DATA(ICOLAMP(I,2,1),I=1,2)/.TRUE.,.FALSE./ |
806 | DATA(ICOLAMP(I,3,1),I=1,2)/.TRUE.,.FALSE./ |
807 | - DATA(ICOLAMP(I,4,1),I=1,2)/.TRUE.,.TRUE./ |
808 | + DATA(ICOLAMP(I,4,1),I=1,2)/.TRUE.,.FALSE./ |
809 | DATA(ICOLAMP(I,5,1),I=1,2)/.FALSE.,.TRUE./ |
810 | DATA(ICOLAMP(I,6,1),I=1,2)/.FALSE.,.TRUE./ |
811 | - DATA(ICOLAMP(I,1,2),I=1,2)/.TRUE.,.TRUE./ |
812 | + DATA(ICOLAMP(I,1,2),I=1,2)/.FALSE.,.TRUE./ |
813 | DATA(ICOLAMP(I,2,2),I=1,2)/.TRUE.,.FALSE./ |
814 | DATA(ICOLAMP(I,3,2),I=1,2)/.TRUE.,.FALSE./ |
815 | """) |
816 | @@ -1749,151 +1749,150 @@ |
817 | subprocess_group.get('diagrams_for_configs')) |
818 | |
819 | #print open(self.give_pos('test')).read() |
820 | - |
821 | self.assertFileContains('test', |
822 | """C Diagram 1 |
823 | DATA MAPCONFIG(1)/1/ |
824 | DATA (IFOREST(I,-1,1),I=1,2)/8,6/ |
825 | - DATA SPROP(-1,1)/1/ |
826 | + DATA (SPROP(I,-1,1),I=1,2)/1,1/ |
827 | DATA TPRID(-1,1)/0/ |
828 | DATA (IFOREST(I,-2,1),I=1,2)/7,-1/ |
829 | - DATA SPROP(-2,1)/23/ |
830 | + DATA (SPROP(I,-2,1),I=1,2)/23,23/ |
831 | DATA TPRID(-2,1)/0/ |
832 | DATA (IFOREST(I,-3,1),I=1,2)/5,3/ |
833 | - DATA SPROP(-3,1)/1/ |
834 | + DATA (SPROP(I,-3,1),I=1,2)/1,1/ |
835 | DATA TPRID(-3,1)/0/ |
836 | DATA (IFOREST(I,-4,1),I=1,2)/4,-3/ |
837 | - DATA SPROP(-4,1)/23/ |
838 | + DATA (SPROP(I,-4,1),I=1,2)/23,23/ |
839 | DATA TPRID(-4,1)/0/ |
840 | DATA (IFOREST(I,-5,1),I=1,2)/1,-4/ |
841 | DATA TPRID(-5,1)/2/ |
842 | - DATA SPROP(-5,1)/0/ |
843 | + DATA (SPROP(I,-5,1),I=1,2)/0,0/ |
844 | DATA (IFOREST(I,-6,1),I=1,2)/-5,-2/ |
845 | C Diagram 2 |
846 | DATA MAPCONFIG(2)/2/ |
847 | DATA (IFOREST(I,-1,2),I=1,2)/8,7/ |
848 | - DATA SPROP(-1,2)/-1/ |
849 | + DATA (SPROP(I,-1,2),I=1,2)/-1,-1/ |
850 | DATA TPRID(-1,2)/0/ |
851 | DATA (IFOREST(I,-2,2),I=1,2)/-1,6/ |
852 | - DATA SPROP(-2,2)/23/ |
853 | + DATA (SPROP(I,-2,2),I=1,2)/23,23/ |
854 | DATA TPRID(-2,2)/0/ |
855 | DATA (IFOREST(I,-3,2),I=1,2)/5,3/ |
856 | - DATA SPROP(-3,2)/1/ |
857 | + DATA (SPROP(I,-3,2),I=1,2)/1,1/ |
858 | DATA TPRID(-3,2)/0/ |
859 | DATA (IFOREST(I,-4,2),I=1,2)/4,-3/ |
860 | - DATA SPROP(-4,2)/23/ |
861 | + DATA (SPROP(I,-4,2),I=1,2)/23,23/ |
862 | DATA TPRID(-4,2)/0/ |
863 | DATA (IFOREST(I,-5,2),I=1,2)/1,-4/ |
864 | DATA TPRID(-5,2)/2/ |
865 | - DATA SPROP(-5,2)/0/ |
866 | + DATA (SPROP(I,-5,2),I=1,2)/0,0/ |
867 | DATA (IFOREST(I,-6,2),I=1,2)/-5,-2/ |
868 | C Diagram 3 |
869 | DATA MAPCONFIG(3)/3/ |
870 | DATA (IFOREST(I,-1,3),I=1,2)/8,6/ |
871 | - DATA SPROP(-1,3)/1/ |
872 | + DATA (SPROP(I,-1,3),I=1,2)/1,1/ |
873 | DATA TPRID(-1,3)/0/ |
874 | DATA (IFOREST(I,-2,3),I=1,2)/7,-1/ |
875 | - DATA SPROP(-2,3)/23/ |
876 | + DATA (SPROP(I,-2,3),I=1,2)/23,23/ |
877 | DATA TPRID(-2,3)/0/ |
878 | DATA (IFOREST(I,-3,3),I=1,2)/5,4/ |
879 | - DATA SPROP(-3,3)/-1/ |
880 | + DATA (SPROP(I,-3,3),I=1,2)/-1,-1/ |
881 | DATA TPRID(-3,3)/0/ |
882 | DATA (IFOREST(I,-4,3),I=1,2)/-3,3/ |
883 | - DATA SPROP(-4,3)/23/ |
884 | + DATA (SPROP(I,-4,3),I=1,2)/23,23/ |
885 | DATA TPRID(-4,3)/0/ |
886 | DATA (IFOREST(I,-5,3),I=1,2)/1,-4/ |
887 | DATA TPRID(-5,3)/2/ |
888 | - DATA SPROP(-5,3)/0/ |
889 | + DATA (SPROP(I,-5,3),I=1,2)/0,0/ |
890 | DATA (IFOREST(I,-6,3),I=1,2)/-5,-2/ |
891 | C Diagram 4 |
892 | DATA MAPCONFIG(4)/4/ |
893 | DATA (IFOREST(I,-1,4),I=1,2)/8,7/ |
894 | - DATA SPROP(-1,4)/-1/ |
895 | + DATA (SPROP(I,-1,4),I=1,2)/-1,-1/ |
896 | DATA TPRID(-1,4)/0/ |
897 | DATA (IFOREST(I,-2,4),I=1,2)/-1,6/ |
898 | - DATA SPROP(-2,4)/23/ |
899 | + DATA (SPROP(I,-2,4),I=1,2)/23,23/ |
900 | DATA TPRID(-2,4)/0/ |
901 | DATA (IFOREST(I,-3,4),I=1,2)/5,4/ |
902 | - DATA SPROP(-3,4)/-1/ |
903 | + DATA (SPROP(I,-3,4),I=1,2)/-1,-1/ |
904 | DATA TPRID(-3,4)/0/ |
905 | DATA (IFOREST(I,-4,4),I=1,2)/-3,3/ |
906 | - DATA SPROP(-4,4)/23/ |
907 | + DATA (SPROP(I,-4,4),I=1,2)/23,23/ |
908 | DATA TPRID(-4,4)/0/ |
909 | DATA (IFOREST(I,-5,4),I=1,2)/1,-4/ |
910 | DATA TPRID(-5,4)/2/ |
911 | - DATA SPROP(-5,4)/0/ |
912 | + DATA (SPROP(I,-5,4),I=1,2)/0,0/ |
913 | DATA (IFOREST(I,-6,4),I=1,2)/-5,-2/ |
914 | C Diagram 5 |
915 | DATA MAPCONFIG(5)/5/ |
916 | DATA (IFOREST(I,-1,5),I=1,2)/5,3/ |
917 | - DATA SPROP(-1,5)/1/ |
918 | + DATA (SPROP(I,-1,5),I=1,2)/1,1/ |
919 | DATA TPRID(-1,5)/0/ |
920 | DATA (IFOREST(I,-2,5),I=1,2)/4,-1/ |
921 | - DATA SPROP(-2,5)/23/ |
922 | + DATA (SPROP(I,-2,5),I=1,2)/23,23/ |
923 | DATA TPRID(-2,5)/0/ |
924 | DATA (IFOREST(I,-3,5),I=1,2)/8,6/ |
925 | - DATA SPROP(-3,5)/1/ |
926 | + DATA (SPROP(I,-3,5),I=1,2)/1,1/ |
927 | DATA TPRID(-3,5)/0/ |
928 | DATA (IFOREST(I,-4,5),I=1,2)/7,-3/ |
929 | - DATA SPROP(-4,5)/23/ |
930 | + DATA (SPROP(I,-4,5),I=1,2)/23,23/ |
931 | DATA TPRID(-4,5)/0/ |
932 | DATA (IFOREST(I,-5,5),I=1,2)/1,-4/ |
933 | DATA TPRID(-5,5)/2/ |
934 | - DATA SPROP(-5,5)/0/ |
935 | + DATA (SPROP(I,-5,5),I=1,2)/0,0/ |
936 | DATA (IFOREST(I,-6,5),I=1,2)/-5,-2/ |
937 | C Diagram 6 |
938 | DATA MAPCONFIG(6)/6/ |
939 | DATA (IFOREST(I,-1,6),I=1,2)/5,3/ |
940 | - DATA SPROP(-1,6)/1/ |
941 | + DATA (SPROP(I,-1,6),I=1,2)/1,1/ |
942 | DATA TPRID(-1,6)/0/ |
943 | DATA (IFOREST(I,-2,6),I=1,2)/4,-1/ |
944 | - DATA SPROP(-2,6)/23/ |
945 | + DATA (SPROP(I,-2,6),I=1,2)/23,23/ |
946 | DATA TPRID(-2,6)/0/ |
947 | DATA (IFOREST(I,-3,6),I=1,2)/8,7/ |
948 | - DATA SPROP(-3,6)/-1/ |
949 | + DATA (SPROP(I,-3,6),I=1,2)/-1,-1/ |
950 | DATA TPRID(-3,6)/0/ |
951 | DATA (IFOREST(I,-4,6),I=1,2)/-3,6/ |
952 | - DATA SPROP(-4,6)/23/ |
953 | + DATA (SPROP(I,-4,6),I=1,2)/23,23/ |
954 | DATA TPRID(-4,6)/0/ |
955 | DATA (IFOREST(I,-5,6),I=1,2)/1,-4/ |
956 | DATA TPRID(-5,6)/2/ |
957 | - DATA SPROP(-5,6)/0/ |
958 | + DATA (SPROP(I,-5,6),I=1,2)/0,0/ |
959 | DATA (IFOREST(I,-6,6),I=1,2)/-5,-2/ |
960 | C Diagram 7 |
961 | DATA MAPCONFIG(7)/7/ |
962 | DATA (IFOREST(I,-1,7),I=1,2)/5,4/ |
963 | - DATA SPROP(-1,7)/-1/ |
964 | + DATA (SPROP(I,-1,7),I=1,2)/-1,-1/ |
965 | DATA TPRID(-1,7)/0/ |
966 | DATA (IFOREST(I,-2,7),I=1,2)/-1,3/ |
967 | - DATA SPROP(-2,7)/23/ |
968 | + DATA (SPROP(I,-2,7),I=1,2)/23,23/ |
969 | DATA TPRID(-2,7)/0/ |
970 | DATA (IFOREST(I,-3,7),I=1,2)/8,6/ |
971 | - DATA SPROP(-3,7)/1/ |
972 | + DATA (SPROP(I,-3,7),I=1,2)/1,1/ |
973 | DATA TPRID(-3,7)/0/ |
974 | DATA (IFOREST(I,-4,7),I=1,2)/7,-3/ |
975 | - DATA SPROP(-4,7)/23/ |
976 | + DATA (SPROP(I,-4,7),I=1,2)/23,23/ |
977 | DATA TPRID(-4,7)/0/ |
978 | DATA (IFOREST(I,-5,7),I=1,2)/1,-4/ |
979 | DATA TPRID(-5,7)/2/ |
980 | - DATA SPROP(-5,7)/0/ |
981 | + DATA (SPROP(I,-5,7),I=1,2)/0,0/ |
982 | DATA (IFOREST(I,-6,7),I=1,2)/-5,-2/ |
983 | C Diagram 8 |
984 | DATA MAPCONFIG(8)/8/ |
985 | DATA (IFOREST(I,-1,8),I=1,2)/5,4/ |
986 | - DATA SPROP(-1,8)/-1/ |
987 | + DATA (SPROP(I,-1,8),I=1,2)/-1,-1/ |
988 | DATA TPRID(-1,8)/0/ |
989 | DATA (IFOREST(I,-2,8),I=1,2)/-1,3/ |
990 | - DATA SPROP(-2,8)/23/ |
991 | + DATA (SPROP(I,-2,8),I=1,2)/23,23/ |
992 | DATA TPRID(-2,8)/0/ |
993 | DATA (IFOREST(I,-3,8),I=1,2)/8,7/ |
994 | - DATA SPROP(-3,8)/-1/ |
995 | + DATA (SPROP(I,-3,8),I=1,2)/-1,-1/ |
996 | DATA TPRID(-3,8)/0/ |
997 | DATA (IFOREST(I,-4,8),I=1,2)/-3,6/ |
998 | - DATA SPROP(-4,8)/23/ |
999 | + DATA (SPROP(I,-4,8),I=1,2)/23,23/ |
1000 | DATA TPRID(-4,8)/0/ |
1001 | DATA (IFOREST(I,-5,8),I=1,2)/1,-4/ |
1002 | DATA TPRID(-5,8)/2/ |
1003 | - DATA SPROP(-5,8)/0/ |
1004 | + DATA (SPROP(I,-5,8),I=1,2)/0,0/ |
1005 | DATA (IFOREST(I,-6,8),I=1,2)/-5,-2/ |
1006 | C Number of configs |
1007 | DATA MAPCONFIG(0)/8/ |
1008 | @@ -2282,210 +2281,212 @@ |
1009 | subprocess_group, |
1010 | subprocess_group.get('diagrams_for_configs')) |
1011 | |
1012 | + #print open(self.give_pos('test')).read() |
1013 | + |
1014 | self.assertFileContains('test', |
1015 | """C Diagram 1 |
1016 | DATA MAPCONFIG(1)/1/ |
1017 | DATA (IFOREST(I,-1,1),I=1,2)/5,3/ |
1018 | - DATA SPROP(-1,1)/1000001/ |
1019 | + DATA (SPROP(I,-1,1),I=1,3)/1000001,0,0/ |
1020 | DATA TPRID(-1,1)/0/ |
1021 | DATA (IFOREST(I,-2,1),I=1,2)/4,-1/ |
1022 | - DATA SPROP(-2,1)/1000021/ |
1023 | + DATA (SPROP(I,-2,1),I=1,3)/1000021,0,0/ |
1024 | DATA TPRID(-2,1)/0/ |
1025 | DATA (IFOREST(I,-3,1),I=1,2)/8,6/ |
1026 | - DATA SPROP(-3,1)/1000001/ |
1027 | + DATA (SPROP(I,-3,1),I=1,3)/1000001,0,0/ |
1028 | DATA TPRID(-3,1)/0/ |
1029 | DATA (IFOREST(I,-4,1),I=1,2)/7,-3/ |
1030 | - DATA SPROP(-4,1)/1000021/ |
1031 | + DATA (SPROP(I,-4,1),I=1,3)/1000021,0,0/ |
1032 | DATA TPRID(-4,1)/0/ |
1033 | DATA (IFOREST(I,-5,1),I=1,2)/-4,-2/ |
1034 | - DATA SPROP(-5,1)/21/ |
1035 | + DATA (SPROP(I,-5,1),I=1,3)/21,0,0/ |
1036 | DATA TPRID(-5,1)/0/ |
1037 | C Diagram 2 |
1038 | DATA MAPCONFIG(2)/2/ |
1039 | DATA (IFOREST(I,-1,2),I=1,2)/5,3/ |
1040 | - DATA SPROP(-1,2)/1000001/ |
1041 | + DATA (SPROP(I,-1,2),I=1,3)/1000001,0,0/ |
1042 | DATA TPRID(-1,2)/0/ |
1043 | DATA (IFOREST(I,-2,2),I=1,2)/4,-1/ |
1044 | - DATA SPROP(-2,2)/1000021/ |
1045 | + DATA (SPROP(I,-2,2),I=1,3)/1000021,0,0/ |
1046 | DATA TPRID(-2,2)/0/ |
1047 | DATA (IFOREST(I,-3,2),I=1,2)/8,7/ |
1048 | - DATA SPROP(-3,2)/-1000001/ |
1049 | + DATA (SPROP(I,-3,2),I=1,3)/-1000001,0,0/ |
1050 | DATA TPRID(-3,2)/0/ |
1051 | DATA (IFOREST(I,-4,2),I=1,2)/-3,6/ |
1052 | - DATA SPROP(-4,2)/1000021/ |
1053 | + DATA (SPROP(I,-4,2),I=1,3)/1000021,0,0/ |
1054 | DATA TPRID(-4,2)/0/ |
1055 | DATA (IFOREST(I,-5,2),I=1,2)/-4,-2/ |
1056 | - DATA SPROP(-5,2)/21/ |
1057 | + DATA (SPROP(I,-5,2),I=1,3)/21,0,0/ |
1058 | DATA TPRID(-5,2)/0/ |
1059 | C Diagram 3 |
1060 | DATA MAPCONFIG(3)/3/ |
1061 | DATA (IFOREST(I,-1,3),I=1,2)/5,4/ |
1062 | - DATA SPROP(-1,3)/-1000001/ |
1063 | + DATA (SPROP(I,-1,3),I=1,3)/-1000001,0,0/ |
1064 | DATA TPRID(-1,3)/0/ |
1065 | DATA (IFOREST(I,-2,3),I=1,2)/-1,3/ |
1066 | - DATA SPROP(-2,3)/1000021/ |
1067 | + DATA (SPROP(I,-2,3),I=1,3)/1000021,0,0/ |
1068 | DATA TPRID(-2,3)/0/ |
1069 | DATA (IFOREST(I,-3,3),I=1,2)/8,6/ |
1070 | - DATA SPROP(-3,3)/1000001/ |
1071 | + DATA (SPROP(I,-3,3),I=1,3)/1000001,0,0/ |
1072 | DATA TPRID(-3,3)/0/ |
1073 | DATA (IFOREST(I,-4,3),I=1,2)/7,-3/ |
1074 | - DATA SPROP(-4,3)/1000021/ |
1075 | + DATA (SPROP(I,-4,3),I=1,3)/1000021,0,0/ |
1076 | DATA TPRID(-4,3)/0/ |
1077 | DATA (IFOREST(I,-5,3),I=1,2)/-4,-2/ |
1078 | - DATA SPROP(-5,3)/21/ |
1079 | + DATA (SPROP(I,-5,3),I=1,3)/21,0,0/ |
1080 | DATA TPRID(-5,3)/0/ |
1081 | C Diagram 4 |
1082 | DATA MAPCONFIG(4)/4/ |
1083 | DATA (IFOREST(I,-1,4),I=1,2)/5,4/ |
1084 | - DATA SPROP(-1,4)/-1000001/ |
1085 | + DATA (SPROP(I,-1,4),I=1,3)/-1000001,0,0/ |
1086 | DATA TPRID(-1,4)/0/ |
1087 | DATA (IFOREST(I,-2,4),I=1,2)/-1,3/ |
1088 | - DATA SPROP(-2,4)/1000021/ |
1089 | + DATA (SPROP(I,-2,4),I=1,3)/1000021,0,0/ |
1090 | DATA TPRID(-2,4)/0/ |
1091 | DATA (IFOREST(I,-3,4),I=1,2)/8,7/ |
1092 | - DATA SPROP(-3,4)/-1000001/ |
1093 | + DATA (SPROP(I,-3,4),I=1,3)/-1000001,0,0/ |
1094 | DATA TPRID(-3,4)/0/ |
1095 | DATA (IFOREST(I,-4,4),I=1,2)/-3,6/ |
1096 | - DATA SPROP(-4,4)/1000021/ |
1097 | + DATA (SPROP(I,-4,4),I=1,3)/1000021,0,0/ |
1098 | DATA TPRID(-4,4)/0/ |
1099 | DATA (IFOREST(I,-5,4),I=1,2)/-4,-2/ |
1100 | - DATA SPROP(-5,4)/21/ |
1101 | + DATA (SPROP(I,-5,4),I=1,3)/21,0,0/ |
1102 | DATA TPRID(-5,4)/0/ |
1103 | C Diagram 5 |
1104 | DATA MAPCONFIG(5)/5/ |
1105 | DATA (IFOREST(I,-1,5),I=1,2)/5,3/ |
1106 | - DATA SPROP(-1,5)/1000001/ |
1107 | + DATA (SPROP(I,-1,5),I=1,3)/0,1000001,0/ |
1108 | DATA TPRID(-1,5)/0/ |
1109 | DATA (IFOREST(I,-2,5),I=1,2)/4,-1/ |
1110 | - DATA SPROP(-2,5)/1000021/ |
1111 | + DATA (SPROP(I,-2,5),I=1,3)/0,1000021,0/ |
1112 | DATA TPRID(-2,5)/0/ |
1113 | DATA (IFOREST(I,-3,5),I=1,2)/8,6/ |
1114 | - DATA SPROP(-3,5)/1000002/ |
1115 | + DATA (SPROP(I,-3,5),I=1,3)/0,1000002,0/ |
1116 | DATA TPRID(-3,5)/0/ |
1117 | DATA (IFOREST(I,-4,5),I=1,2)/7,-3/ |
1118 | - DATA SPROP(-4,5)/1000021/ |
1119 | + DATA (SPROP(I,-4,5),I=1,3)/0,1000021,0/ |
1120 | DATA TPRID(-4,5)/0/ |
1121 | DATA (IFOREST(I,-5,5),I=1,2)/-4,-2/ |
1122 | - DATA SPROP(-5,5)/21/ |
1123 | + DATA (SPROP(I,-5,5),I=1,3)/0,21,0/ |
1124 | DATA TPRID(-5,5)/0/ |
1125 | C Diagram 6 |
1126 | DATA MAPCONFIG(6)/6/ |
1127 | DATA (IFOREST(I,-1,6),I=1,2)/5,3/ |
1128 | - DATA SPROP(-1,6)/1000001/ |
1129 | + DATA (SPROP(I,-1,6),I=1,3)/0,1000001,0/ |
1130 | DATA TPRID(-1,6)/0/ |
1131 | DATA (IFOREST(I,-2,6),I=1,2)/4,-1/ |
1132 | - DATA SPROP(-2,6)/1000021/ |
1133 | + DATA (SPROP(I,-2,6),I=1,3)/0,1000021,0/ |
1134 | DATA TPRID(-2,6)/0/ |
1135 | DATA (IFOREST(I,-3,6),I=1,2)/8,7/ |
1136 | - DATA SPROP(-3,6)/-1000002/ |
1137 | + DATA (SPROP(I,-3,6),I=1,3)/0,-1000002,0/ |
1138 | DATA TPRID(-3,6)/0/ |
1139 | DATA (IFOREST(I,-4,6),I=1,2)/-3,6/ |
1140 | - DATA SPROP(-4,6)/1000021/ |
1141 | + DATA (SPROP(I,-4,6),I=1,3)/0,1000021,0/ |
1142 | DATA TPRID(-4,6)/0/ |
1143 | DATA (IFOREST(I,-5,6),I=1,2)/-4,-2/ |
1144 | - DATA SPROP(-5,6)/21/ |
1145 | + DATA (SPROP(I,-5,6),I=1,3)/0,21,0/ |
1146 | DATA TPRID(-5,6)/0/ |
1147 | C Diagram 7 |
1148 | DATA MAPCONFIG(7)/7/ |
1149 | DATA (IFOREST(I,-1,7),I=1,2)/5,4/ |
1150 | - DATA SPROP(-1,7)/-1000001/ |
1151 | + DATA (SPROP(I,-1,7),I=1,3)/0,-1000001,0/ |
1152 | DATA TPRID(-1,7)/0/ |
1153 | DATA (IFOREST(I,-2,7),I=1,2)/-1,3/ |
1154 | - DATA SPROP(-2,7)/1000021/ |
1155 | + DATA (SPROP(I,-2,7),I=1,3)/0,1000021,0/ |
1156 | DATA TPRID(-2,7)/0/ |
1157 | DATA (IFOREST(I,-3,7),I=1,2)/8,6/ |
1158 | - DATA SPROP(-3,7)/1000002/ |
1159 | + DATA (SPROP(I,-3,7),I=1,3)/0,1000002,0/ |
1160 | DATA TPRID(-3,7)/0/ |
1161 | DATA (IFOREST(I,-4,7),I=1,2)/7,-3/ |
1162 | - DATA SPROP(-4,7)/1000021/ |
1163 | + DATA (SPROP(I,-4,7),I=1,3)/0,1000021,0/ |
1164 | DATA TPRID(-4,7)/0/ |
1165 | DATA (IFOREST(I,-5,7),I=1,2)/-4,-2/ |
1166 | - DATA SPROP(-5,7)/21/ |
1167 | + DATA (SPROP(I,-5,7),I=1,3)/0,21,0/ |
1168 | DATA TPRID(-5,7)/0/ |
1169 | C Diagram 8 |
1170 | DATA MAPCONFIG(8)/8/ |
1171 | DATA (IFOREST(I,-1,8),I=1,2)/5,4/ |
1172 | - DATA SPROP(-1,8)/-1000001/ |
1173 | + DATA (SPROP(I,-1,8),I=1,3)/0,-1000001,0/ |
1174 | DATA TPRID(-1,8)/0/ |
1175 | DATA (IFOREST(I,-2,8),I=1,2)/-1,3/ |
1176 | - DATA SPROP(-2,8)/1000021/ |
1177 | + DATA (SPROP(I,-2,8),I=1,3)/0,1000021,0/ |
1178 | DATA TPRID(-2,8)/0/ |
1179 | DATA (IFOREST(I,-3,8),I=1,2)/8,7/ |
1180 | - DATA SPROP(-3,8)/-1000002/ |
1181 | + DATA (SPROP(I,-3,8),I=1,3)/0,-1000002,0/ |
1182 | DATA TPRID(-3,8)/0/ |
1183 | DATA (IFOREST(I,-4,8),I=1,2)/-3,6/ |
1184 | - DATA SPROP(-4,8)/1000021/ |
1185 | + DATA (SPROP(I,-4,8),I=1,3)/0,1000021,0/ |
1186 | DATA TPRID(-4,8)/0/ |
1187 | DATA (IFOREST(I,-5,8),I=1,2)/-4,-2/ |
1188 | - DATA SPROP(-5,8)/21/ |
1189 | + DATA (SPROP(I,-5,8),I=1,3)/0,21,0/ |
1190 | DATA TPRID(-5,8)/0/ |
1191 | C Diagram 9 |
1192 | DATA MAPCONFIG(9)/9/ |
1193 | DATA (IFOREST(I,-1,9),I=1,2)/5,3/ |
1194 | - DATA SPROP(-1,9)/1000002/ |
1195 | + DATA (SPROP(I,-1,9),I=1,3)/0,0,1000002/ |
1196 | DATA TPRID(-1,9)/0/ |
1197 | DATA (IFOREST(I,-2,9),I=1,2)/4,-1/ |
1198 | - DATA SPROP(-2,9)/1000021/ |
1199 | + DATA (SPROP(I,-2,9),I=1,3)/0,0,1000021/ |
1200 | DATA TPRID(-2,9)/0/ |
1201 | DATA (IFOREST(I,-3,9),I=1,2)/8,6/ |
1202 | - DATA SPROP(-3,9)/1000002/ |
1203 | + DATA (SPROP(I,-3,9),I=1,3)/0,0,1000002/ |
1204 | DATA TPRID(-3,9)/0/ |
1205 | DATA (IFOREST(I,-4,9),I=1,2)/7,-3/ |
1206 | - DATA SPROP(-4,9)/1000021/ |
1207 | + DATA (SPROP(I,-4,9),I=1,3)/0,0,1000021/ |
1208 | DATA TPRID(-4,9)/0/ |
1209 | DATA (IFOREST(I,-5,9),I=1,2)/-4,-2/ |
1210 | - DATA SPROP(-5,9)/21/ |
1211 | + DATA (SPROP(I,-5,9),I=1,3)/0,0,21/ |
1212 | DATA TPRID(-5,9)/0/ |
1213 | C Diagram 10 |
1214 | DATA MAPCONFIG(10)/10/ |
1215 | DATA (IFOREST(I,-1,10),I=1,2)/5,3/ |
1216 | - DATA SPROP(-1,10)/1000002/ |
1217 | + DATA (SPROP(I,-1,10),I=1,3)/0,0,1000002/ |
1218 | DATA TPRID(-1,10)/0/ |
1219 | DATA (IFOREST(I,-2,10),I=1,2)/4,-1/ |
1220 | - DATA SPROP(-2,10)/1000021/ |
1221 | + DATA (SPROP(I,-2,10),I=1,3)/0,0,1000021/ |
1222 | DATA TPRID(-2,10)/0/ |
1223 | DATA (IFOREST(I,-3,10),I=1,2)/8,7/ |
1224 | - DATA SPROP(-3,10)/-1000002/ |
1225 | + DATA (SPROP(I,-3,10),I=1,3)/0,0,-1000002/ |
1226 | DATA TPRID(-3,10)/0/ |
1227 | DATA (IFOREST(I,-4,10),I=1,2)/-3,6/ |
1228 | - DATA SPROP(-4,10)/1000021/ |
1229 | + DATA (SPROP(I,-4,10),I=1,3)/0,0,1000021/ |
1230 | DATA TPRID(-4,10)/0/ |
1231 | DATA (IFOREST(I,-5,10),I=1,2)/-4,-2/ |
1232 | - DATA SPROP(-5,10)/21/ |
1233 | + DATA (SPROP(I,-5,10),I=1,3)/0,0,21/ |
1234 | DATA TPRID(-5,10)/0/ |
1235 | C Diagram 11 |
1236 | DATA MAPCONFIG(11)/11/ |
1237 | DATA (IFOREST(I,-1,11),I=1,2)/5,4/ |
1238 | - DATA SPROP(-1,11)/-1000002/ |
1239 | + DATA (SPROP(I,-1,11),I=1,3)/0,0,-1000002/ |
1240 | DATA TPRID(-1,11)/0/ |
1241 | DATA (IFOREST(I,-2,11),I=1,2)/-1,3/ |
1242 | - DATA SPROP(-2,11)/1000021/ |
1243 | + DATA (SPROP(I,-2,11),I=1,3)/0,0,1000021/ |
1244 | DATA TPRID(-2,11)/0/ |
1245 | DATA (IFOREST(I,-3,11),I=1,2)/8,6/ |
1246 | - DATA SPROP(-3,11)/1000002/ |
1247 | + DATA (SPROP(I,-3,11),I=1,3)/0,0,1000002/ |
1248 | DATA TPRID(-3,11)/0/ |
1249 | DATA (IFOREST(I,-4,11),I=1,2)/7,-3/ |
1250 | - DATA SPROP(-4,11)/1000021/ |
1251 | + DATA (SPROP(I,-4,11),I=1,3)/0,0,1000021/ |
1252 | DATA TPRID(-4,11)/0/ |
1253 | DATA (IFOREST(I,-5,11),I=1,2)/-4,-2/ |
1254 | - DATA SPROP(-5,11)/21/ |
1255 | + DATA (SPROP(I,-5,11),I=1,3)/0,0,21/ |
1256 | DATA TPRID(-5,11)/0/ |
1257 | C Diagram 12 |
1258 | DATA MAPCONFIG(12)/12/ |
1259 | DATA (IFOREST(I,-1,12),I=1,2)/5,4/ |
1260 | - DATA SPROP(-1,12)/-1000002/ |
1261 | + DATA (SPROP(I,-1,12),I=1,3)/0,0,-1000002/ |
1262 | DATA TPRID(-1,12)/0/ |
1263 | DATA (IFOREST(I,-2,12),I=1,2)/-1,3/ |
1264 | - DATA SPROP(-2,12)/1000021/ |
1265 | + DATA (SPROP(I,-2,12),I=1,3)/0,0,1000021/ |
1266 | DATA TPRID(-2,12)/0/ |
1267 | DATA (IFOREST(I,-3,12),I=1,2)/8,7/ |
1268 | - DATA SPROP(-3,12)/-1000002/ |
1269 | + DATA (SPROP(I,-3,12),I=1,3)/0,0,-1000002/ |
1270 | DATA TPRID(-3,12)/0/ |
1271 | DATA (IFOREST(I,-4,12),I=1,2)/-3,6/ |
1272 | - DATA SPROP(-4,12)/1000021/ |
1273 | + DATA (SPROP(I,-4,12),I=1,3)/0,0,1000021/ |
1274 | DATA TPRID(-4,12)/0/ |
1275 | DATA (IFOREST(I,-5,12),I=1,2)/-4,-2/ |
1276 | - DATA SPROP(-5,12)/21/ |
1277 | + DATA (SPROP(I,-5,12),I=1,3)/0,0,21/ |
1278 | DATA TPRID(-5,12)/0/ |
1279 | C Number of configs |
1280 | DATA MAPCONFIG(0)/12/ |
1281 | @@ -2850,507 +2851,508 @@ |
1282 | JAMP(5)=+1./4.*(+AMP(2)-AMP(3)+1./3.*AMP(7)+1./3.*AMP(8)+AMP(9)+1./3.*AMP(11)+1./3.*AMP(12)+1./9.*AMP(14)+1./9.*AMP(15)+1./9.*AMP(17)+1./9.*AMP(18)+1./3.*AMP(19)+1./3.*AMP(20)+AMP(21)+AMP(23)+1./3.*AMP(24)+1./3.*AMP(25)+AMP(30)+AMP(32)+1./3.*AMP(35)+1./3.*AMP(36)+1./9.*AMP(37)+1./9.*AMP(38)+AMP(39)+1./3.*AMP(41)+1./3.*AMP(42)) |
1283 | JAMP(6)=+1./4.*(-1./3.*AMP(1)-1./3.*AMP(2)-AMP(5)-AMP(6)-AMP(8)-AMP(11)-AMP(13)-1./3.*AMP(14)-1./3.*AMP(15)-AMP(20)-1./3.*AMP(21)-1./3.*AMP(22)-1./9.*AMP(24)-1./9.*AMP(25)-1./9.*AMP(27)-1./9.*AMP(28)-1./3.*AMP(29)-1./3.*AMP(30)-AMP(34)-1./9.*AMP(35)-1./9.*AMP(36)-1./3.*AMP(37)-1./3.*AMP(38)-1./3.*AMP(39)-1./3.*AMP(40)-AMP(42))""") |
1284 | |
1285 | - # Test configs file |
1286 | + # Test configs.inc file |
1287 | writer = writers.FortranWriter(self.give_pos('test')) |
1288 | mapconfigs, s_and_t_channels = exporter.write_configs_file(writer, |
1289 | matrix_element) |
1290 | - |
1291 | writer.close() |
1292 | |
1293 | + #print open(self.give_pos('test')).read() |
1294 | + |
1295 | self.assertFileContains('test', |
1296 | """C Diagram 1 |
1297 | DATA MAPCONFIG(1)/1/ |
1298 | DATA (IFOREST(I,-1,1),I=1,2)/4,3/ |
1299 | - DATA SPROP(-1,1)/21/ |
1300 | + DATA (SPROP(I,-1,1),I=1,1)/21/ |
1301 | DATA TPRID(-1,1)/0/ |
1302 | DATA (IFOREST(I,-2,1),I=1,2)/6,-1/ |
1303 | - DATA SPROP(-2,1)/-2/ |
1304 | + DATA (SPROP(I,-2,1),I=1,1)/-2/ |
1305 | DATA TPRID(-2,1)/0/ |
1306 | DATA (IFOREST(I,-3,1),I=1,2)/5,-2/ |
1307 | - DATA SPROP(-3,1)/21/ |
1308 | + DATA (SPROP(I,-3,1),I=1,1)/21/ |
1309 | DATA TPRID(-3,1)/0/ |
1310 | C Diagram 2 |
1311 | DATA MAPCONFIG(2)/2/ |
1312 | DATA (IFOREST(I,-1,2),I=1,2)/4,3/ |
1313 | - DATA SPROP(-1,2)/21/ |
1314 | + DATA (SPROP(I,-1,2),I=1,1)/21/ |
1315 | DATA TPRID(-1,2)/0/ |
1316 | DATA (IFOREST(I,-2,2),I=1,2)/5,-1/ |
1317 | - DATA SPROP(-2,2)/2/ |
1318 | + DATA (SPROP(I,-2,2),I=1,1)/2/ |
1319 | DATA TPRID(-2,2)/0/ |
1320 | DATA (IFOREST(I,-3,2),I=1,2)/6,-2/ |
1321 | - DATA SPROP(-3,2)/21/ |
1322 | + DATA (SPROP(I,-3,2),I=1,1)/21/ |
1323 | DATA TPRID(-3,2)/0/ |
1324 | C Diagram 3 |
1325 | DATA MAPCONFIG(3)/3/ |
1326 | DATA (IFOREST(I,-1,3),I=1,2)/4,3/ |
1327 | - DATA SPROP(-1,3)/21/ |
1328 | + DATA (SPROP(I,-1,3),I=1,1)/21/ |
1329 | DATA TPRID(-1,3)/0/ |
1330 | DATA (IFOREST(I,-2,3),I=1,2)/6,5/ |
1331 | - DATA SPROP(-2,3)/21/ |
1332 | + DATA (SPROP(I,-2,3),I=1,1)/21/ |
1333 | DATA TPRID(-2,3)/0/ |
1334 | DATA (IFOREST(I,-3,3),I=1,2)/-2,-1/ |
1335 | - DATA SPROP(-3,3)/21/ |
1336 | + DATA (SPROP(I,-3,3),I=1,1)/21/ |
1337 | DATA TPRID(-3,3)/0/ |
1338 | C Diagram 4 |
1339 | DATA MAPCONFIG(4)/4/ |
1340 | DATA (IFOREST(I,-1,4),I=1,2)/6,3/ |
1341 | - DATA SPROP(-1,4)/21/ |
1342 | + DATA (SPROP(I,-1,4),I=1,1)/21/ |
1343 | DATA TPRID(-1,4)/0/ |
1344 | DATA (IFOREST(I,-2,4),I=1,2)/5,-1/ |
1345 | - DATA SPROP(-2,4)/2/ |
1346 | + DATA (SPROP(I,-2,4),I=1,1)/2/ |
1347 | DATA TPRID(-2,4)/0/ |
1348 | DATA (IFOREST(I,-3,4),I=1,2)/4,-2/ |
1349 | - DATA SPROP(-3,4)/21/ |
1350 | + DATA (SPROP(I,-3,4),I=1,1)/21/ |
1351 | DATA TPRID(-3,4)/0/ |
1352 | C Diagram 5 |
1353 | DATA MAPCONFIG(5)/5/ |
1354 | DATA (IFOREST(I,-1,5),I=1,2)/6,3/ |
1355 | - DATA SPROP(-1,5)/21/ |
1356 | + DATA (SPROP(I,-1,5),I=1,1)/21/ |
1357 | DATA TPRID(-1,5)/0/ |
1358 | DATA (IFOREST(I,-2,5),I=1,2)/4,-1/ |
1359 | - DATA SPROP(-2,5)/-2/ |
1360 | + DATA (SPROP(I,-2,5),I=1,1)/-2/ |
1361 | DATA TPRID(-2,5)/0/ |
1362 | DATA (IFOREST(I,-3,5),I=1,2)/5,-2/ |
1363 | - DATA SPROP(-3,5)/21/ |
1364 | + DATA (SPROP(I,-3,5),I=1,1)/21/ |
1365 | DATA TPRID(-3,5)/0/ |
1366 | C Diagram 6 |
1367 | DATA MAPCONFIG(6)/6/ |
1368 | DATA (IFOREST(I,-1,6),I=1,2)/6,3/ |
1369 | - DATA SPROP(-1,6)/21/ |
1370 | + DATA (SPROP(I,-1,6),I=1,1)/21/ |
1371 | DATA TPRID(-1,6)/0/ |
1372 | DATA (IFOREST(I,-2,6),I=1,2)/5,4/ |
1373 | - DATA SPROP(-2,6)/21/ |
1374 | + DATA (SPROP(I,-2,6),I=1,1)/21/ |
1375 | DATA TPRID(-2,6)/0/ |
1376 | DATA (IFOREST(I,-3,6),I=1,2)/-2,-1/ |
1377 | - DATA SPROP(-3,6)/21/ |
1378 | + DATA (SPROP(I,-3,6),I=1,1)/21/ |
1379 | DATA TPRID(-3,6)/0/ |
1380 | C Diagram 7 |
1381 | DATA MAPCONFIG(7)/7/ |
1382 | DATA (IFOREST(I,-1,7),I=1,2)/5,4/ |
1383 | - DATA SPROP(-1,7)/21/ |
1384 | + DATA (SPROP(I,-1,7),I=1,1)/21/ |
1385 | DATA TPRID(-1,7)/0/ |
1386 | DATA (IFOREST(I,-2,7),I=1,2)/6,-1/ |
1387 | - DATA SPROP(-2,7)/-2/ |
1388 | + DATA (SPROP(I,-2,7),I=1,1)/-2/ |
1389 | DATA TPRID(-2,7)/0/ |
1390 | DATA (IFOREST(I,-3,7),I=1,2)/-2,3/ |
1391 | - DATA SPROP(-3,7)/21/ |
1392 | + DATA (SPROP(I,-3,7),I=1,1)/21/ |
1393 | DATA TPRID(-3,7)/0/ |
1394 | C Diagram 8 |
1395 | DATA MAPCONFIG(8)/8/ |
1396 | DATA (IFOREST(I,-1,8),I=1,2)/5,4/ |
1397 | - DATA SPROP(-1,8)/21/ |
1398 | + DATA (SPROP(I,-1,8),I=1,1)/21/ |
1399 | DATA TPRID(-1,8)/0/ |
1400 | DATA (IFOREST(I,-2,8),I=1,2)/-1,3/ |
1401 | - DATA SPROP(-2,8)/2/ |
1402 | + DATA (SPROP(I,-2,8),I=1,1)/2/ |
1403 | DATA TPRID(-2,8)/0/ |
1404 | DATA (IFOREST(I,-3,8),I=1,2)/6,-2/ |
1405 | - DATA SPROP(-3,8)/21/ |
1406 | + DATA (SPROP(I,-3,8),I=1,1)/21/ |
1407 | DATA TPRID(-3,8)/0/ |
1408 | C Diagram 9 |
1409 | DATA MAPCONFIG(9)/9/ |
1410 | DATA (IFOREST(I,-1,9),I=1,2)/6,5/ |
1411 | - DATA SPROP(-1,9)/21/ |
1412 | + DATA (SPROP(I,-1,9),I=1,1)/21/ |
1413 | DATA TPRID(-1,9)/0/ |
1414 | DATA (IFOREST(I,-2,9),I=1,2)/-1,4/ |
1415 | - DATA SPROP(-2,9)/-2/ |
1416 | + DATA (SPROP(I,-2,9),I=1,1)/-2/ |
1417 | DATA TPRID(-2,9)/0/ |
1418 | DATA (IFOREST(I,-3,9),I=1,2)/-2,3/ |
1419 | - DATA SPROP(-3,9)/21/ |
1420 | + DATA (SPROP(I,-3,9),I=1,1)/21/ |
1421 | DATA TPRID(-3,9)/0/ |
1422 | C Diagram 10 |
1423 | DATA MAPCONFIG(10)/10/ |
1424 | DATA (IFOREST(I,-1,10),I=1,2)/6,5/ |
1425 | - DATA SPROP(-1,10)/21/ |
1426 | + DATA (SPROP(I,-1,10),I=1,1)/21/ |
1427 | DATA TPRID(-1,10)/0/ |
1428 | DATA (IFOREST(I,-2,10),I=1,2)/-1,3/ |
1429 | - DATA SPROP(-2,10)/2/ |
1430 | + DATA (SPROP(I,-2,10),I=1,1)/2/ |
1431 | DATA TPRID(-2,10)/0/ |
1432 | DATA (IFOREST(I,-3,10),I=1,2)/4,-2/ |
1433 | - DATA SPROP(-3,10)/21/ |
1434 | + DATA (SPROP(I,-3,10),I=1,1)/21/ |
1435 | DATA TPRID(-3,10)/0/ |
1436 | C Diagram 11 |
1437 | DATA MAPCONFIG(11)/11/ |
1438 | DATA (IFOREST(I,-1,11),I=1,2)/1,3/ |
1439 | DATA TPRID(-1,11)/21/ |
1440 | - DATA SPROP(-1,11)/0/ |
1441 | + DATA (SPROP(I,-1,11),I=1,1)/0/ |
1442 | DATA (IFOREST(I,-2,11),I=1,2)/-1,5/ |
1443 | DATA TPRID(-2,11)/2/ |
1444 | - DATA SPROP(-2,11)/0/ |
1445 | + DATA (SPROP(I,-2,11),I=1,1)/0/ |
1446 | DATA (IFOREST(I,-3,11),I=1,2)/-2,6/ |
1447 | DATA TPRID(-3,11)/21/ |
1448 | - DATA SPROP(-3,11)/0/ |
1449 | + DATA (SPROP(I,-3,11),I=1,1)/0/ |
1450 | DATA (IFOREST(I,-4,11),I=1,2)/-3,4/ |
1451 | C Diagram 12 |
1452 | DATA MAPCONFIG(12)/12/ |
1453 | DATA (IFOREST(I,-1,12),I=1,2)/1,3/ |
1454 | DATA TPRID(-1,12)/21/ |
1455 | - DATA SPROP(-1,12)/0/ |
1456 | + DATA (SPROP(I,-1,12),I=1,1)/0/ |
1457 | DATA (IFOREST(I,-2,12),I=1,2)/-1,6/ |
1458 | DATA TPRID(-2,12)/2/ |
1459 | - DATA SPROP(-2,12)/0/ |
1460 | + DATA (SPROP(I,-2,12),I=1,1)/0/ |
1461 | DATA (IFOREST(I,-3,12),I=1,2)/-2,5/ |
1462 | DATA TPRID(-3,12)/21/ |
1463 | - DATA SPROP(-3,12)/0/ |
1464 | + DATA (SPROP(I,-3,12),I=1,1)/0/ |
1465 | DATA (IFOREST(I,-4,12),I=1,2)/-3,4/ |
1466 | C Diagram 13 |
1467 | DATA MAPCONFIG(13)/13/ |
1468 | DATA (IFOREST(I,-1,13),I=1,2)/6,5/ |
1469 | - DATA SPROP(-1,13)/21/ |
1470 | + DATA (SPROP(I,-1,13),I=1,1)/21/ |
1471 | DATA TPRID(-1,13)/0/ |
1472 | DATA (IFOREST(I,-2,13),I=1,2)/1,3/ |
1473 | DATA TPRID(-2,13)/21/ |
1474 | - DATA SPROP(-2,13)/0/ |
1475 | + DATA (SPROP(I,-2,13),I=1,1)/0/ |
1476 | DATA (IFOREST(I,-3,13),I=1,2)/-2,-1/ |
1477 | DATA TPRID(-3,13)/21/ |
1478 | - DATA SPROP(-3,13)/0/ |
1479 | + DATA (SPROP(I,-3,13),I=1,1)/0/ |
1480 | DATA (IFOREST(I,-4,13),I=1,2)/-3,4/ |
1481 | C Diagram 14 |
1482 | DATA MAPCONFIG(14)/14/ |
1483 | DATA (IFOREST(I,-1,14),I=1,2)/1,3/ |
1484 | DATA TPRID(-1,14)/21/ |
1485 | - DATA SPROP(-1,14)/0/ |
1486 | + DATA (SPROP(I,-1,14),I=1,1)/0/ |
1487 | DATA (IFOREST(I,-2,14),I=1,2)/-1,4/ |
1488 | DATA TPRID(-2,14)/2/ |
1489 | - DATA SPROP(-2,14)/0/ |
1490 | + DATA (SPROP(I,-2,14),I=1,1)/0/ |
1491 | DATA (IFOREST(I,-3,14),I=1,2)/-2,5/ |
1492 | DATA TPRID(-3,14)/21/ |
1493 | - DATA SPROP(-3,14)/0/ |
1494 | + DATA (SPROP(I,-3,14),I=1,1)/0/ |
1495 | DATA (IFOREST(I,-4,14),I=1,2)/-3,6/ |
1496 | C Diagram 15 |
1497 | DATA MAPCONFIG(15)/15/ |
1498 | DATA (IFOREST(I,-1,15),I=1,2)/1,3/ |
1499 | DATA TPRID(-1,15)/21/ |
1500 | - DATA SPROP(-1,15)/0/ |
1501 | + DATA (SPROP(I,-1,15),I=1,1)/0/ |
1502 | DATA (IFOREST(I,-2,15),I=1,2)/-1,5/ |
1503 | DATA TPRID(-2,15)/2/ |
1504 | - DATA SPROP(-2,15)/0/ |
1505 | + DATA (SPROP(I,-2,15),I=1,1)/0/ |
1506 | DATA (IFOREST(I,-3,15),I=1,2)/-2,4/ |
1507 | DATA TPRID(-3,15)/21/ |
1508 | - DATA SPROP(-3,15)/0/ |
1509 | + DATA (SPROP(I,-3,15),I=1,1)/0/ |
1510 | DATA (IFOREST(I,-4,15),I=1,2)/-3,6/ |
1511 | C Diagram 16 |
1512 | DATA MAPCONFIG(16)/16/ |
1513 | DATA (IFOREST(I,-1,16),I=1,2)/5,4/ |
1514 | - DATA SPROP(-1,16)/21/ |
1515 | + DATA (SPROP(I,-1,16),I=1,1)/21/ |
1516 | DATA TPRID(-1,16)/0/ |
1517 | DATA (IFOREST(I,-2,16),I=1,2)/1,3/ |
1518 | DATA TPRID(-2,16)/21/ |
1519 | - DATA SPROP(-2,16)/0/ |
1520 | + DATA (SPROP(I,-2,16),I=1,1)/0/ |
1521 | DATA (IFOREST(I,-3,16),I=1,2)/-2,-1/ |
1522 | DATA TPRID(-3,16)/21/ |
1523 | - DATA SPROP(-3,16)/0/ |
1524 | + DATA (SPROP(I,-3,16),I=1,1)/0/ |
1525 | DATA (IFOREST(I,-4,16),I=1,2)/-3,6/ |
1526 | C Diagram 17 |
1527 | DATA MAPCONFIG(17)/17/ |
1528 | DATA (IFOREST(I,-1,17),I=1,2)/5,4/ |
1529 | - DATA SPROP(-1,17)/21/ |
1530 | + DATA (SPROP(I,-1,17),I=1,1)/21/ |
1531 | DATA TPRID(-1,17)/0/ |
1532 | DATA (IFOREST(I,-2,17),I=1,2)/6,-1/ |
1533 | - DATA SPROP(-2,17)/-2/ |
1534 | + DATA (SPROP(I,-2,17),I=1,1)/-2/ |
1535 | DATA TPRID(-2,17)/0/ |
1536 | DATA (IFOREST(I,-3,17),I=1,2)/1,3/ |
1537 | DATA TPRID(-3,17)/21/ |
1538 | - DATA SPROP(-3,17)/0/ |
1539 | + DATA (SPROP(I,-3,17),I=1,1)/0/ |
1540 | DATA (IFOREST(I,-4,17),I=1,2)/-3,-2/ |
1541 | C Diagram 18 |
1542 | DATA MAPCONFIG(18)/18/ |
1543 | DATA (IFOREST(I,-1,18),I=1,2)/5,4/ |
1544 | - DATA SPROP(-1,18)/21/ |
1545 | + DATA (SPROP(I,-1,18),I=1,1)/21/ |
1546 | DATA TPRID(-1,18)/0/ |
1547 | DATA (IFOREST(I,-2,18),I=1,2)/1,3/ |
1548 | DATA TPRID(-2,18)/21/ |
1549 | - DATA SPROP(-2,18)/0/ |
1550 | + DATA (SPROP(I,-2,18),I=1,1)/0/ |
1551 | DATA (IFOREST(I,-3,18),I=1,2)/-2,6/ |
1552 | DATA TPRID(-3,18)/2/ |
1553 | - DATA SPROP(-3,18)/0/ |
1554 | + DATA (SPROP(I,-3,18),I=1,1)/0/ |
1555 | DATA (IFOREST(I,-4,18),I=1,2)/-3,-1/ |
1556 | C Diagram 19 |
1557 | DATA MAPCONFIG(19)/19/ |
1558 | DATA (IFOREST(I,-1,19),I=1,2)/6,5/ |
1559 | - DATA SPROP(-1,19)/21/ |
1560 | + DATA (SPROP(I,-1,19),I=1,1)/21/ |
1561 | DATA TPRID(-1,19)/0/ |
1562 | DATA (IFOREST(I,-2,19),I=1,2)/-1,4/ |
1563 | - DATA SPROP(-2,19)/-2/ |
1564 | + DATA (SPROP(I,-2,19),I=1,1)/-2/ |
1565 | DATA TPRID(-2,19)/0/ |
1566 | DATA (IFOREST(I,-3,19),I=1,2)/1,3/ |
1567 | DATA TPRID(-3,19)/21/ |
1568 | - DATA SPROP(-3,19)/0/ |
1569 | + DATA (SPROP(I,-3,19),I=1,1)/0/ |
1570 | DATA (IFOREST(I,-4,19),I=1,2)/-3,-2/ |
1571 | C Diagram 20 |
1572 | DATA MAPCONFIG(20)/20/ |
1573 | DATA (IFOREST(I,-1,20),I=1,2)/6,5/ |
1574 | - DATA SPROP(-1,20)/21/ |
1575 | + DATA (SPROP(I,-1,20),I=1,1)/21/ |
1576 | DATA TPRID(-1,20)/0/ |
1577 | DATA (IFOREST(I,-2,20),I=1,2)/1,3/ |
1578 | DATA TPRID(-2,20)/21/ |
1579 | - DATA SPROP(-2,20)/0/ |
1580 | + DATA (SPROP(I,-2,20),I=1,1)/0/ |
1581 | DATA (IFOREST(I,-3,20),I=1,2)/-2,4/ |
1582 | DATA TPRID(-3,20)/2/ |
1583 | - DATA SPROP(-3,20)/0/ |
1584 | + DATA (SPROP(I,-3,20),I=1,1)/0/ |
1585 | DATA (IFOREST(I,-4,20),I=1,2)/-3,-1/ |
1586 | C Diagram 21 |
1587 | DATA MAPCONFIG(21)/21/ |
1588 | DATA (IFOREST(I,-1,21),I=1,2)/1,5/ |
1589 | DATA TPRID(-1,21)/21/ |
1590 | - DATA SPROP(-1,21)/0/ |
1591 | + DATA (SPROP(I,-1,21),I=1,1)/0/ |
1592 | DATA (IFOREST(I,-2,21),I=1,2)/-1,3/ |
1593 | DATA TPRID(-2,21)/2/ |
1594 | - DATA SPROP(-2,21)/0/ |
1595 | + DATA (SPROP(I,-2,21),I=1,1)/0/ |
1596 | DATA (IFOREST(I,-3,21),I=1,2)/-2,6/ |
1597 | DATA TPRID(-3,21)/21/ |
1598 | - DATA SPROP(-3,21)/0/ |
1599 | + DATA (SPROP(I,-3,21),I=1,1)/0/ |
1600 | DATA (IFOREST(I,-4,21),I=1,2)/-3,4/ |
1601 | C Diagram 22 |
1602 | DATA MAPCONFIG(22)/22/ |
1603 | DATA (IFOREST(I,-1,22),I=1,2)/1,5/ |
1604 | DATA TPRID(-1,22)/21/ |
1605 | - DATA SPROP(-1,22)/0/ |
1606 | + DATA (SPROP(I,-1,22),I=1,1)/0/ |
1607 | DATA (IFOREST(I,-2,22),I=1,2)/-1,6/ |
1608 | DATA TPRID(-2,22)/2/ |
1609 | - DATA SPROP(-2,22)/0/ |
1610 | + DATA (SPROP(I,-2,22),I=1,1)/0/ |
1611 | DATA (IFOREST(I,-3,22),I=1,2)/-2,3/ |
1612 | DATA TPRID(-3,22)/21/ |
1613 | - DATA SPROP(-3,22)/0/ |
1614 | + DATA (SPROP(I,-3,22),I=1,1)/0/ |
1615 | DATA (IFOREST(I,-4,22),I=1,2)/-3,4/ |
1616 | C Diagram 23 |
1617 | DATA MAPCONFIG(23)/23/ |
1618 | DATA (IFOREST(I,-1,23),I=1,2)/6,3/ |
1619 | - DATA SPROP(-1,23)/21/ |
1620 | + DATA (SPROP(I,-1,23),I=1,1)/21/ |
1621 | DATA TPRID(-1,23)/0/ |
1622 | DATA (IFOREST(I,-2,23),I=1,2)/1,5/ |
1623 | DATA TPRID(-2,23)/21/ |
1624 | - DATA SPROP(-2,23)/0/ |
1625 | + DATA (SPROP(I,-2,23),I=1,1)/0/ |
1626 | DATA (IFOREST(I,-3,23),I=1,2)/-2,-1/ |
1627 | DATA TPRID(-3,23)/21/ |
1628 | - DATA SPROP(-3,23)/0/ |
1629 | + DATA (SPROP(I,-3,23),I=1,1)/0/ |
1630 | DATA (IFOREST(I,-4,23),I=1,2)/-3,4/ |
1631 | C Diagram 24 |
1632 | DATA MAPCONFIG(24)/24/ |
1633 | DATA (IFOREST(I,-1,24),I=1,2)/1,5/ |
1634 | DATA TPRID(-1,24)/21/ |
1635 | - DATA SPROP(-1,24)/0/ |
1636 | + DATA (SPROP(I,-1,24),I=1,1)/0/ |
1637 | DATA (IFOREST(I,-2,24),I=1,2)/-1,3/ |
1638 | DATA TPRID(-2,24)/2/ |
1639 | - DATA SPROP(-2,24)/0/ |
1640 | + DATA (SPROP(I,-2,24),I=1,1)/0/ |
1641 | DATA (IFOREST(I,-3,24),I=1,2)/-2,4/ |
1642 | DATA TPRID(-3,24)/21/ |
1643 | - DATA SPROP(-3,24)/0/ |
1644 | + DATA (SPROP(I,-3,24),I=1,1)/0/ |
1645 | DATA (IFOREST(I,-4,24),I=1,2)/-3,6/ |
1646 | C Diagram 25 |
1647 | DATA MAPCONFIG(25)/25/ |
1648 | DATA (IFOREST(I,-1,25),I=1,2)/1,5/ |
1649 | DATA TPRID(-1,25)/21/ |
1650 | - DATA SPROP(-1,25)/0/ |
1651 | + DATA (SPROP(I,-1,25),I=1,1)/0/ |
1652 | DATA (IFOREST(I,-2,25),I=1,2)/-1,4/ |
1653 | DATA TPRID(-2,25)/2/ |
1654 | - DATA SPROP(-2,25)/0/ |
1655 | + DATA (SPROP(I,-2,25),I=1,1)/0/ |
1656 | DATA (IFOREST(I,-3,25),I=1,2)/-2,3/ |
1657 | DATA TPRID(-3,25)/21/ |
1658 | - DATA SPROP(-3,25)/0/ |
1659 | + DATA (SPROP(I,-3,25),I=1,1)/0/ |
1660 | DATA (IFOREST(I,-4,25),I=1,2)/-3,6/ |
1661 | C Diagram 26 |
1662 | DATA MAPCONFIG(26)/26/ |
1663 | DATA (IFOREST(I,-1,26),I=1,2)/4,3/ |
1664 | - DATA SPROP(-1,26)/21/ |
1665 | + DATA (SPROP(I,-1,26),I=1,1)/21/ |
1666 | DATA TPRID(-1,26)/0/ |
1667 | DATA (IFOREST(I,-2,26),I=1,2)/1,5/ |
1668 | DATA TPRID(-2,26)/21/ |
1669 | - DATA SPROP(-2,26)/0/ |
1670 | + DATA (SPROP(I,-2,26),I=1,1)/0/ |
1671 | DATA (IFOREST(I,-3,26),I=1,2)/-2,-1/ |
1672 | DATA TPRID(-3,26)/21/ |
1673 | - DATA SPROP(-3,26)/0/ |
1674 | + DATA (SPROP(I,-3,26),I=1,1)/0/ |
1675 | DATA (IFOREST(I,-4,26),I=1,2)/-3,6/ |
1676 | C Diagram 27 |
1677 | DATA MAPCONFIG(27)/27/ |
1678 | DATA (IFOREST(I,-1,27),I=1,2)/4,3/ |
1679 | - DATA SPROP(-1,27)/21/ |
1680 | + DATA (SPROP(I,-1,27),I=1,1)/21/ |
1681 | DATA TPRID(-1,27)/0/ |
1682 | DATA (IFOREST(I,-2,27),I=1,2)/6,-1/ |
1683 | - DATA SPROP(-2,27)/-2/ |
1684 | + DATA (SPROP(I,-2,27),I=1,1)/-2/ |
1685 | DATA TPRID(-2,27)/0/ |
1686 | DATA (IFOREST(I,-3,27),I=1,2)/1,5/ |
1687 | DATA TPRID(-3,27)/21/ |
1688 | - DATA SPROP(-3,27)/0/ |
1689 | + DATA (SPROP(I,-3,27),I=1,1)/0/ |
1690 | DATA (IFOREST(I,-4,27),I=1,2)/-3,-2/ |
1691 | C Diagram 28 |
1692 | DATA MAPCONFIG(28)/28/ |
1693 | DATA (IFOREST(I,-1,28),I=1,2)/4,3/ |
1694 | - DATA SPROP(-1,28)/21/ |
1695 | + DATA (SPROP(I,-1,28),I=1,1)/21/ |
1696 | DATA TPRID(-1,28)/0/ |
1697 | DATA (IFOREST(I,-2,28),I=1,2)/1,5/ |
1698 | DATA TPRID(-2,28)/21/ |
1699 | - DATA SPROP(-2,28)/0/ |
1700 | + DATA (SPROP(I,-2,28),I=1,1)/0/ |
1701 | DATA (IFOREST(I,-3,28),I=1,2)/-2,6/ |
1702 | DATA TPRID(-3,28)/2/ |
1703 | - DATA SPROP(-3,28)/0/ |
1704 | + DATA (SPROP(I,-3,28),I=1,1)/0/ |
1705 | DATA (IFOREST(I,-4,28),I=1,2)/-3,-1/ |
1706 | C Diagram 29 |
1707 | DATA MAPCONFIG(29)/29/ |
1708 | DATA (IFOREST(I,-1,29),I=1,2)/6,3/ |
1709 | - DATA SPROP(-1,29)/21/ |
1710 | + DATA (SPROP(I,-1,29),I=1,1)/21/ |
1711 | DATA TPRID(-1,29)/0/ |
1712 | DATA (IFOREST(I,-2,29),I=1,2)/4,-1/ |
1713 | - DATA SPROP(-2,29)/-2/ |
1714 | + DATA (SPROP(I,-2,29),I=1,1)/-2/ |
1715 | DATA TPRID(-2,29)/0/ |
1716 | DATA (IFOREST(I,-3,29),I=1,2)/1,5/ |
1717 | DATA TPRID(-3,29)/21/ |
1718 | - DATA SPROP(-3,29)/0/ |
1719 | + DATA (SPROP(I,-3,29),I=1,1)/0/ |
1720 | DATA (IFOREST(I,-4,29),I=1,2)/-3,-2/ |
1721 | C Diagram 30 |
1722 | DATA MAPCONFIG(30)/30/ |
1723 | DATA (IFOREST(I,-1,30),I=1,2)/6,3/ |
1724 | - DATA SPROP(-1,30)/21/ |
1725 | + DATA (SPROP(I,-1,30),I=1,1)/21/ |
1726 | DATA TPRID(-1,30)/0/ |
1727 | DATA (IFOREST(I,-2,30),I=1,2)/1,5/ |
1728 | DATA TPRID(-2,30)/21/ |
1729 | - DATA SPROP(-2,30)/0/ |
1730 | + DATA (SPROP(I,-2,30),I=1,1)/0/ |
1731 | DATA (IFOREST(I,-3,30),I=1,2)/-2,4/ |
1732 | DATA TPRID(-3,30)/2/ |
1733 | - DATA SPROP(-3,30)/0/ |
1734 | + DATA (SPROP(I,-3,30),I=1,1)/0/ |
1735 | DATA (IFOREST(I,-4,30),I=1,2)/-3,-1/ |
1736 | C Diagram 31 |
1737 | DATA MAPCONFIG(31)/31/ |
1738 | DATA (IFOREST(I,-1,31),I=1,2)/6,3/ |
1739 | - DATA SPROP(-1,31)/21/ |
1740 | + DATA (SPROP(I,-1,31),I=1,1)/21/ |
1741 | DATA TPRID(-1,31)/0/ |
1742 | DATA (IFOREST(I,-2,31),I=1,2)/5,-1/ |
1743 | - DATA SPROP(-2,31)/2/ |
1744 | + DATA (SPROP(I,-2,31),I=1,1)/2/ |
1745 | DATA TPRID(-2,31)/0/ |
1746 | DATA (IFOREST(I,-3,31),I=1,2)/1,-2/ |
1747 | DATA TPRID(-3,31)/21/ |
1748 | - DATA SPROP(-3,31)/0/ |
1749 | + DATA (SPROP(I,-3,31),I=1,1)/0/ |
1750 | DATA (IFOREST(I,-4,31),I=1,2)/-3,4/ |
1751 | C Diagram 32 |
1752 | DATA MAPCONFIG(32)/32/ |
1753 | DATA (IFOREST(I,-1,32),I=1,2)/6,3/ |
1754 | - DATA SPROP(-1,32)/21/ |
1755 | + DATA (SPROP(I,-1,32),I=1,1)/21/ |
1756 | DATA TPRID(-1,32)/0/ |
1757 | DATA (IFOREST(I,-2,32),I=1,2)/1,-1/ |
1758 | DATA TPRID(-2,32)/2/ |
1759 | - DATA SPROP(-2,32)/0/ |
1760 | + DATA (SPROP(I,-2,32),I=1,1)/0/ |
1761 | DATA (IFOREST(I,-3,32),I=1,2)/-2,5/ |
1762 | DATA TPRID(-3,32)/21/ |
1763 | - DATA SPROP(-3,32)/0/ |
1764 | + DATA (SPROP(I,-3,32),I=1,1)/0/ |
1765 | DATA (IFOREST(I,-4,32),I=1,2)/-3,4/ |
1766 | C Diagram 33 |
1767 | DATA MAPCONFIG(33)/33/ |
1768 | DATA (IFOREST(I,-1,33),I=1,2)/6,5/ |
1769 | - DATA SPROP(-1,33)/21/ |
1770 | + DATA (SPROP(I,-1,33),I=1,1)/21/ |
1771 | DATA TPRID(-1,33)/0/ |
1772 | DATA (IFOREST(I,-2,33),I=1,2)/-1,3/ |
1773 | - DATA SPROP(-2,33)/2/ |
1774 | + DATA (SPROP(I,-2,33),I=1,1)/2/ |
1775 | DATA TPRID(-2,33)/0/ |
1776 | DATA (IFOREST(I,-3,33),I=1,2)/1,-2/ |
1777 | DATA TPRID(-3,33)/21/ |
1778 | - DATA SPROP(-3,33)/0/ |
1779 | + DATA (SPROP(I,-3,33),I=1,1)/0/ |
1780 | DATA (IFOREST(I,-4,33),I=1,2)/-3,4/ |
1781 | C Diagram 34 |
1782 | DATA MAPCONFIG(34)/34/ |
1783 | DATA (IFOREST(I,-1,34),I=1,2)/6,5/ |
1784 | - DATA SPROP(-1,34)/21/ |
1785 | + DATA (SPROP(I,-1,34),I=1,1)/21/ |
1786 | DATA TPRID(-1,34)/0/ |
1787 | DATA (IFOREST(I,-2,34),I=1,2)/1,-1/ |
1788 | DATA TPRID(-2,34)/2/ |
1789 | - DATA SPROP(-2,34)/0/ |
1790 | + DATA (SPROP(I,-2,34),I=1,1)/0/ |
1791 | DATA (IFOREST(I,-3,34),I=1,2)/-2,3/ |
1792 | DATA TPRID(-3,34)/21/ |
1793 | - DATA SPROP(-3,34)/0/ |
1794 | + DATA (SPROP(I,-3,34),I=1,1)/0/ |
1795 | DATA (IFOREST(I,-4,34),I=1,2)/-3,4/ |
1796 | C Diagram 35 |
1797 | DATA MAPCONFIG(35)/35/ |
1798 | DATA (IFOREST(I,-1,35),I=1,2)/4,3/ |
1799 | - DATA SPROP(-1,35)/21/ |
1800 | + DATA (SPROP(I,-1,35),I=1,1)/21/ |
1801 | DATA TPRID(-1,35)/0/ |
1802 | DATA (IFOREST(I,-2,35),I=1,2)/5,-1/ |
1803 | - DATA SPROP(-2,35)/2/ |
1804 | + DATA (SPROP(I,-2,35),I=1,1)/2/ |
1805 | DATA TPRID(-2,35)/0/ |
1806 | DATA (IFOREST(I,-3,35),I=1,2)/1,-2/ |
1807 | DATA TPRID(-3,35)/21/ |
1808 | - DATA SPROP(-3,35)/0/ |
1809 | + DATA (SPROP(I,-3,35),I=1,1)/0/ |
1810 | DATA (IFOREST(I,-4,35),I=1,2)/-3,6/ |
1811 | C Diagram 36 |
1812 | DATA MAPCONFIG(36)/36/ |
1813 | DATA (IFOREST(I,-1,36),I=1,2)/4,3/ |
1814 | - DATA SPROP(-1,36)/21/ |
1815 | + DATA (SPROP(I,-1,36),I=1,1)/21/ |
1816 | DATA TPRID(-1,36)/0/ |
1817 | DATA (IFOREST(I,-2,36),I=1,2)/1,-1/ |
1818 | DATA TPRID(-2,36)/2/ |
1819 | - DATA SPROP(-2,36)/0/ |
1820 | + DATA (SPROP(I,-2,36),I=1,1)/0/ |
1821 | DATA (IFOREST(I,-3,36),I=1,2)/-2,5/ |
1822 | DATA TPRID(-3,36)/21/ |
1823 | - DATA SPROP(-3,36)/0/ |
1824 | + DATA (SPROP(I,-3,36),I=1,1)/0/ |
1825 | DATA (IFOREST(I,-4,36),I=1,2)/-3,6/ |
1826 | C Diagram 37 |
1827 | DATA MAPCONFIG(37)/37/ |
1828 | DATA (IFOREST(I,-1,37),I=1,2)/5,4/ |
1829 | - DATA SPROP(-1,37)/21/ |
1830 | + DATA (SPROP(I,-1,37),I=1,1)/21/ |
1831 | DATA TPRID(-1,37)/0/ |
1832 | DATA (IFOREST(I,-2,37),I=1,2)/-1,3/ |
1833 | - DATA SPROP(-2,37)/2/ |
1834 | + DATA (SPROP(I,-2,37),I=1,1)/2/ |
1835 | DATA TPRID(-2,37)/0/ |
1836 | DATA (IFOREST(I,-3,37),I=1,2)/1,-2/ |
1837 | DATA TPRID(-3,37)/21/ |
1838 | - DATA SPROP(-3,37)/0/ |
1839 | + DATA (SPROP(I,-3,37),I=1,1)/0/ |
1840 | DATA (IFOREST(I,-4,37),I=1,2)/-3,6/ |
1841 | C Diagram 38 |
1842 | DATA MAPCONFIG(38)/38/ |
1843 | DATA (IFOREST(I,-1,38),I=1,2)/5,4/ |
1844 | - DATA SPROP(-1,38)/21/ |
1845 | + DATA (SPROP(I,-1,38),I=1,1)/21/ |
1846 | DATA TPRID(-1,38)/0/ |
1847 | DATA (IFOREST(I,-2,38),I=1,2)/1,-1/ |
1848 | DATA TPRID(-2,38)/2/ |
1849 | - DATA SPROP(-2,38)/0/ |
1850 | + DATA (SPROP(I,-2,38),I=1,1)/0/ |
1851 | DATA (IFOREST(I,-3,38),I=1,2)/-2,3/ |
1852 | DATA TPRID(-3,38)/21/ |
1853 | - DATA SPROP(-3,38)/0/ |
1854 | + DATA (SPROP(I,-3,38),I=1,1)/0/ |
1855 | DATA (IFOREST(I,-4,38),I=1,2)/-3,6/ |
1856 | C Diagram 39 |
1857 | DATA MAPCONFIG(39)/39/ |
1858 | DATA (IFOREST(I,-1,39),I=1,2)/6,5/ |
1859 | - DATA SPROP(-1,39)/21/ |
1860 | + DATA (SPROP(I,-1,39),I=1,1)/21/ |
1861 | DATA TPRID(-1,39)/0/ |
1862 | DATA (IFOREST(I,-2,39),I=1,2)/4,3/ |
1863 | - DATA SPROP(-2,39)/21/ |
1864 | + DATA (SPROP(I,-2,39),I=1,1)/21/ |
1865 | DATA TPRID(-2,39)/0/ |
1866 | DATA (IFOREST(I,-3,39),I=1,2)/1,-2/ |
1867 | DATA TPRID(-3,39)/2/ |
1868 | - DATA SPROP(-3,39)/0/ |
1869 | + DATA (SPROP(I,-3,39),I=1,1)/0/ |
1870 | DATA (IFOREST(I,-4,39),I=1,2)/-3,-1/ |
1871 | C Diagram 40 |
1872 | DATA MAPCONFIG(40)/40/ |
1873 | DATA (IFOREST(I,-1,40),I=1,2)/4,3/ |
1874 | - DATA SPROP(-1,40)/21/ |
1875 | + DATA (SPROP(I,-1,40),I=1,1)/21/ |
1876 | DATA TPRID(-1,40)/0/ |
1877 | DATA (IFOREST(I,-2,40),I=1,2)/6,5/ |
1878 | - DATA SPROP(-2,40)/21/ |
1879 | + DATA (SPROP(I,-2,40),I=1,1)/21/ |
1880 | DATA TPRID(-2,40)/0/ |
1881 | DATA (IFOREST(I,-3,40),I=1,2)/1,-2/ |
1882 | DATA TPRID(-3,40)/2/ |
1883 | - DATA SPROP(-3,40)/0/ |
1884 | + DATA (SPROP(I,-3,40),I=1,1)/0/ |
1885 | DATA (IFOREST(I,-4,40),I=1,2)/-3,-1/ |
1886 | C Diagram 41 |
1887 | DATA MAPCONFIG(41)/41/ |
1888 | DATA (IFOREST(I,-1,41),I=1,2)/5,4/ |
1889 | - DATA SPROP(-1,41)/21/ |
1890 | + DATA (SPROP(I,-1,41),I=1,1)/21/ |
1891 | DATA TPRID(-1,41)/0/ |
1892 | DATA (IFOREST(I,-2,41),I=1,2)/6,3/ |
1893 | - DATA SPROP(-2,41)/21/ |
1894 | + DATA (SPROP(I,-2,41),I=1,1)/21/ |
1895 | DATA TPRID(-2,41)/0/ |
1896 | DATA (IFOREST(I,-3,41),I=1,2)/1,-2/ |
1897 | DATA TPRID(-3,41)/2/ |
1898 | - DATA SPROP(-3,41)/0/ |
1899 | + DATA (SPROP(I,-3,41),I=1,1)/0/ |
1900 | DATA (IFOREST(I,-4,41),I=1,2)/-3,-1/ |
1901 | C Diagram 42 |
1902 | DATA MAPCONFIG(42)/42/ |
1903 | DATA (IFOREST(I,-1,42),I=1,2)/6,3/ |
1904 | - DATA SPROP(-1,42)/21/ |
1905 | + DATA (SPROP(I,-1,42),I=1,1)/21/ |
1906 | DATA TPRID(-1,42)/0/ |
1907 | DATA (IFOREST(I,-2,42),I=1,2)/5,4/ |
1908 | - DATA SPROP(-2,42)/21/ |
1909 | + DATA (SPROP(I,-2,42),I=1,1)/21/ |
1910 | DATA TPRID(-2,42)/0/ |
1911 | DATA (IFOREST(I,-3,42),I=1,2)/1,-2/ |
1912 | DATA TPRID(-3,42)/2/ |
1913 | - DATA SPROP(-3,42)/0/ |
1914 | + DATA (SPROP(I,-3,42),I=1,1)/0/ |
1915 | DATA (IFOREST(I,-4,42),I=1,2)/-3,-1/ |
1916 | C Number of configs |
1917 | DATA MAPCONFIG(0)/42/ |
1918 | @@ -3360,48 +3362,48 @@ |
1919 | self.assertEqual("\n".join(\ |
1920 | exporter.get_icolamp_lines(mapconfigs, |
1921 | matrix_element, 1)), |
1922 | - """DATA(icolamp(i,1,1),i=1,6)/.true.,.true.,.false.,.true.,.false.,.true./ |
1923 | -DATA(icolamp(i,2,1),i=1,6)/.true.,.true.,.false.,.false.,.true.,.true./ |
1924 | + """DATA(icolamp(i,1,1),i=1,6)/.false.,.false.,.false.,.true.,.false.,.false./ |
1925 | +DATA(icolamp(i,2,1),i=1,6)/.false.,.false.,.false.,.false.,.true.,.false./ |
1926 | DATA(icolamp(i,3,1),i=1,6)/.false.,.false.,.false.,.true.,.true.,.false./ |
1927 | -DATA(icolamp(i,4,1),i=1,6)/.true.,.true.,.true.,.true.,.false.,.false./ |
1928 | -DATA(icolamp(i,5,1),i=1,6)/.true.,.true.,.false.,.true.,.false.,.true./ |
1929 | +DATA(icolamp(i,4,1),i=1,6)/.false.,.false.,.true.,.false.,.false.,.false./ |
1930 | +DATA(icolamp(i,5,1),i=1,6)/.false.,.false.,.false.,.false.,.false.,.true./ |
1931 | DATA(icolamp(i,6,1),i=1,6)/.false.,.false.,.true.,.false.,.false.,.true./ |
1932 | -DATA(icolamp(i,7,1),i=1,6)/.true.,.true.,.true.,.false.,.true.,.false./ |
1933 | -DATA(icolamp(i,8,1),i=1,6)/.true.,.true.,.false.,.false.,.true.,.true./ |
1934 | -DATA(icolamp(i,9,1),i=1,6)/.true.,.true.,.true.,.false.,.true.,.false./ |
1935 | -DATA(icolamp(i,10,1),i=1,6)/.true.,.true.,.true.,.true.,.false.,.false./ |
1936 | -DATA(icolamp(i,11,1),i=1,6)/.false.,.false.,.true.,.true.,.true.,.true./ |
1937 | -DATA(icolamp(i,12,1),i=1,6)/.false.,.true.,.true.,.true.,.true.,.false./ |
1938 | +DATA(icolamp(i,7,1),i=1,6)/.false.,.false.,.true.,.false.,.false.,.false./ |
1939 | +DATA(icolamp(i,8,1),i=1,6)/.false.,.false.,.false.,.false.,.false.,.true./ |
1940 | +DATA(icolamp(i,9,1),i=1,6)/.false.,.false.,.false.,.false.,.true.,.false./ |
1941 | +DATA(icolamp(i,10,1),i=1,6)/.false.,.false.,.false.,.true.,.false.,.false./ |
1942 | +DATA(icolamp(i,11,1),i=1,6)/.false.,.false.,.false.,.false.,.false.,.true./ |
1943 | +DATA(icolamp(i,12,1),i=1,6)/.false.,.true.,.false.,.false.,.false.,.false./ |
1944 | DATA(icolamp(i,13,1),i=1,6)/.false.,.true.,.false.,.false.,.false.,.true./ |
1945 | -DATA(icolamp(i,14,1),i=1,6)/.true.,.false.,.true.,.false.,.true.,.true./ |
1946 | -DATA(icolamp(i,15,1),i=1,6)/.false.,.false.,.true.,.true.,.true.,.true./ |
1947 | +DATA(icolamp(i,14,1),i=1,6)/.true.,.false.,.false.,.false.,.false.,.false./ |
1948 | +DATA(icolamp(i,15,1),i=1,6)/.false.,.false.,.false.,.true.,.false.,.false./ |
1949 | DATA(icolamp(i,16,1),i=1,6)/.true.,.false.,.false.,.true.,.false.,.false./ |
1950 | -DATA(icolamp(i,17,1),i=1,6)/.true.,.true.,.true.,.false.,.true.,.false./ |
1951 | -DATA(icolamp(i,18,1),i=1,6)/.false.,.true.,.true.,.true.,.true.,.false./ |
1952 | -DATA(icolamp(i,19,1),i=1,6)/.true.,.true.,.true.,.false.,.true.,.false./ |
1953 | -DATA(icolamp(i,20,1),i=1,6)/.true.,.false.,.true.,.false.,.true.,.true./ |
1954 | -DATA(icolamp(i,21,1),i=1,6)/.false.,.false.,.true.,.true.,.true.,.true./ |
1955 | -DATA(icolamp(i,22,1),i=1,6)/.true.,.false.,.true.,.true.,.false.,.true./ |
1956 | +DATA(icolamp(i,17,1),i=1,6)/.true.,.false.,.false.,.false.,.false.,.false./ |
1957 | +DATA(icolamp(i,18,1),i=1,6)/.false.,.false.,.false.,.true.,.false.,.false./ |
1958 | +DATA(icolamp(i,19,1),i=1,6)/.false.,.true.,.false.,.false.,.false.,.false./ |
1959 | +DATA(icolamp(i,20,1),i=1,6)/.false.,.false.,.false.,.false.,.false.,.true./ |
1960 | +DATA(icolamp(i,21,1),i=1,6)/.false.,.false.,.false.,.false.,.true.,.false./ |
1961 | +DATA(icolamp(i,22,1),i=1,6)/.true.,.false.,.false.,.false.,.false.,.false./ |
1962 | DATA(icolamp(i,23,1),i=1,6)/.true.,.false.,.false.,.false.,.true.,.false./ |
1963 | -DATA(icolamp(i,24,1),i=1,6)/.false.,.false.,.true.,.true.,.true.,.true./ |
1964 | -DATA(icolamp(i,25,1),i=1,6)/.false.,.true.,.false.,.true.,.true.,.true./ |
1965 | +DATA(icolamp(i,24,1),i=1,6)/.false.,.false.,.true.,.false.,.false.,.false./ |
1966 | +DATA(icolamp(i,25,1),i=1,6)/.false.,.true.,.false.,.false.,.false.,.false./ |
1967 | DATA(icolamp(i,26,1),i=1,6)/.false.,.true.,.true.,.false.,.false.,.false./ |
1968 | -DATA(icolamp(i,27,1),i=1,6)/.true.,.true.,.false.,.true.,.false.,.true./ |
1969 | -DATA(icolamp(i,28,1),i=1,6)/.true.,.false.,.true.,.true.,.false.,.true./ |
1970 | -DATA(icolamp(i,29,1),i=1,6)/.true.,.true.,.false.,.true.,.false.,.true./ |
1971 | -DATA(icolamp(i,30,1),i=1,6)/.false.,.true.,.false.,.true.,.true.,.true./ |
1972 | -DATA(icolamp(i,31,1),i=1,6)/.true.,.true.,.true.,.true.,.false.,.false./ |
1973 | -DATA(icolamp(i,32,1),i=1,6)/.false.,.true.,.true.,.true.,.true.,.false./ |
1974 | -DATA(icolamp(i,33,1),i=1,6)/.true.,.true.,.true.,.true.,.false.,.false./ |
1975 | -DATA(icolamp(i,34,1),i=1,6)/.true.,.false.,.true.,.true.,.false.,.true./ |
1976 | -DATA(icolamp(i,35,1),i=1,6)/.true.,.true.,.false.,.false.,.true.,.true./ |
1977 | -DATA(icolamp(i,36,1),i=1,6)/.true.,.false.,.true.,.false.,.true.,.true./ |
1978 | -DATA(icolamp(i,37,1),i=1,6)/.true.,.true.,.false.,.false.,.true.,.true./ |
1979 | -DATA(icolamp(i,38,1),i=1,6)/.false.,.true.,.false.,.true.,.true.,.true./ |
1980 | -DATA(icolamp(i,39,1),i=1,6)/.true.,.false.,.true.,.false.,.true.,.true./ |
1981 | -DATA(icolamp(i,40,1),i=1,6)/.true.,.false.,.true.,.true.,.false.,.true./ |
1982 | -DATA(icolamp(i,41,1),i=1,6)/.false.,.true.,.true.,.true.,.true.,.false./ |
1983 | -DATA(icolamp(i,42,1),i=1,6)/.false.,.true.,.false.,.true.,.true.,.true./""" |
1984 | +DATA(icolamp(i,27,1),i=1,6)/.false.,.true.,.false.,.false.,.false.,.false./ |
1985 | +DATA(icolamp(i,28,1),i=1,6)/.false.,.false.,.true.,.false.,.false.,.false./ |
1986 | +DATA(icolamp(i,29,1),i=1,6)/.true.,.false.,.false.,.false.,.false.,.false./ |
1987 | +DATA(icolamp(i,30,1),i=1,6)/.false.,.false.,.false.,.false.,.true.,.false./ |
1988 | +DATA(icolamp(i,31,1),i=1,6)/.true.,.false.,.false.,.false.,.false.,.false./ |
1989 | +DATA(icolamp(i,32,1),i=1,6)/.false.,.false.,.false.,.false.,.true.,.false./ |
1990 | +DATA(icolamp(i,33,1),i=1,6)/.false.,.true.,.false.,.false.,.false.,.false./ |
1991 | +DATA(icolamp(i,34,1),i=1,6)/.false.,.false.,.false.,.false.,.false.,.true./ |
1992 | +DATA(icolamp(i,35,1),i=1,6)/.false.,.true.,.false.,.false.,.false.,.false./ |
1993 | +DATA(icolamp(i,36,1),i=1,6)/.false.,.false.,.true.,.false.,.false.,.false./ |
1994 | +DATA(icolamp(i,37,1),i=1,6)/.true.,.false.,.false.,.false.,.false.,.false./ |
1995 | +DATA(icolamp(i,38,1),i=1,6)/.false.,.false.,.false.,.true.,.false.,.false./ |
1996 | +DATA(icolamp(i,39,1),i=1,6)/.false.,.false.,.false.,.false.,.true.,.false./ |
1997 | +DATA(icolamp(i,40,1),i=1,6)/.false.,.false.,.false.,.true.,.false.,.false./ |
1998 | +DATA(icolamp(i,41,1),i=1,6)/.false.,.false.,.true.,.false.,.false.,.false./ |
1999 | +DATA(icolamp(i,42,1),i=1,6)/.false.,.false.,.false.,.false.,.false.,.true./""" |
2000 | ) |
2001 | |
2002 | # Test leshouche.inc output |
2003 | @@ -3602,28 +3604,29 @@ |
2004 | 'AMP2(3)=AMP2(3)+AMP(5)*dconjg(AMP(5))', |
2005 | 'AMP2(4)=AMP2(4)+AMP(6)*dconjg(AMP(6))']) |
2006 | |
2007 | - # Test configs file |
2008 | + # Test configs.inc file |
2009 | writer = writers.FortranWriter(self.give_pos('test')) |
2010 | nconfig, s_and_t_channels = exporter.write_configs_file(writer, |
2011 | matrix_element) |
2012 | writer.close() |
2013 | + #print open(self.give_pos('test')).read() |
2014 | self.assertFileContains('test', |
2015 | """C Diagram 2 |
2016 | DATA MAPCONFIG(1)/2/ |
2017 | DATA (IFOREST(I,-1,1),I=1,2)/4,3/ |
2018 | - DATA SPROP(-1,1)/21/ |
2019 | + DATA (SPROP(I,-1,1),I=1,1)/21/ |
2020 | DATA TPRID(-1,1)/0/ |
2021 | C Diagram 3 |
2022 | DATA MAPCONFIG(2)/3/ |
2023 | DATA (IFOREST(I,-1,2),I=1,2)/1,3/ |
2024 | DATA TPRID(-1,2)/21/ |
2025 | - DATA SPROP(-1,2)/0/ |
2026 | + DATA (SPROP(I,-1,2),I=1,1)/0/ |
2027 | DATA (IFOREST(I,-2,2),I=1,2)/-1,4/ |
2028 | C Diagram 4 |
2029 | DATA MAPCONFIG(3)/4/ |
2030 | DATA (IFOREST(I,-1,3),I=1,2)/1,4/ |
2031 | DATA TPRID(-1,3)/21/ |
2032 | - DATA SPROP(-1,3)/0/ |
2033 | + DATA (SPROP(I,-1,3),I=1,1)/0/ |
2034 | DATA (IFOREST(I,-2,3),I=1,2)/-1,3/ |
2035 | C Number of configs |
2036 | DATA MAPCONFIG(0)/3/ |
2037 | @@ -4741,29 +4744,30 @@ |
2038 | 'AMP2(2)=AMP2(2)+AMP(2)*dconjg(AMP(2))', |
2039 | 'AMP2(3)=AMP2(3)+AMP(3)*dconjg(AMP(3))']) |
2040 | |
2041 | - # Test configs file |
2042 | + # Test configs.inc file |
2043 | writer = writers.FortranWriter(self.give_pos('test')) |
2044 | nconfig, s_and_t_channels = exporter.write_configs_file(writer, |
2045 | matrix_element) |
2046 | writer.close() |
2047 | + #print open(self.give_pos('test')).read() |
2048 | |
2049 | self.assertFileContains('test', |
2050 | """C Diagram 1 |
2051 | DATA MAPCONFIG(1)/1/ |
2052 | DATA (IFOREST(I,-1,1),I=1,2)/4,3/ |
2053 | - DATA SPROP(-1,1)/45/ |
2054 | + DATA (SPROP(I,-1,1),I=1,1)/45/ |
2055 | DATA TPRID(-1,1)/0/ |
2056 | C Diagram 2 |
2057 | DATA MAPCONFIG(2)/2/ |
2058 | DATA (IFOREST(I,-1,2),I=1,2)/1,3/ |
2059 | DATA TPRID(-1,2)/45/ |
2060 | - DATA SPROP(-1,2)/0/ |
2061 | + DATA (SPROP(I,-1,2),I=1,1)/0/ |
2062 | DATA (IFOREST(I,-2,2),I=1,2)/-1,4/ |
2063 | C Diagram 3 |
2064 | DATA MAPCONFIG(3)/3/ |
2065 | DATA (IFOREST(I,-1,3),I=1,2)/1,4/ |
2066 | DATA TPRID(-1,3)/45/ |
2067 | - DATA SPROP(-1,3)/0/ |
2068 | + DATA (SPROP(I,-1,3),I=1,1)/0/ |
2069 | DATA (IFOREST(I,-2,3),I=1,2)/-1,3/ |
2070 | C Number of configs |
2071 | DATA MAPCONFIG(0)/3/ |
2072 | @@ -5129,46 +5133,47 @@ |
2073 | writer = writers.FortranWriter(self.give_pos('test')) |
2074 | myfortranmodel = helas_call_writers.FortranHelasCallWriter(mybasemodel) |
2075 | |
2076 | - # Test configs file |
2077 | + # Test configs.inc file |
2078 | nconfig, s_and_t_channels = exporter.write_configs_file(writer, |
2079 | matrix_element) |
2080 | writer.close() |
2081 | |
2082 | #print open(self.give_pos('test')).read() |
2083 | + |
2084 | self.assertFileContains('test', |
2085 | """C Diagram 1 |
2086 | DATA MAPCONFIG(1)/1/ |
2087 | DATA (IFOREST(I,-1,1),I=1,2)/4,3/ |
2088 | - DATA SPROP(-1,1)/21/ |
2089 | + DATA (SPROP(I,-1,1),I=1,1)/21/ |
2090 | DATA TPRID(-1,1)/0/ |
2091 | DATA (IFOREST(I,-2,1),I=1,2)/1,5/ |
2092 | DATA TPRID(-2,1)/2/ |
2093 | - DATA SPROP(-2,1)/0/ |
2094 | + DATA (SPROP(I,-2,1),I=1,1)/0/ |
2095 | DATA (IFOREST(I,-3,1),I=1,2)/-2,-1/ |
2096 | C Diagram 2 |
2097 | DATA MAPCONFIG(2)/2/ |
2098 | DATA (IFOREST(I,-1,2),I=1,2)/5,4/ |
2099 | - DATA SPROP(-1,2)/6/ |
2100 | + DATA (SPROP(I,-1,2),I=1,1)/6/ |
2101 | DATA TPRID(-1,2)/0/ |
2102 | DATA (IFOREST(I,-2,2),I=1,2)/-1,3/ |
2103 | - DATA SPROP(-2,2)/21/ |
2104 | + DATA (SPROP(I,-2,2),I=1,1)/21/ |
2105 | DATA TPRID(-2,2)/0/ |
2106 | C Diagram 3 |
2107 | DATA MAPCONFIG(3)/3/ |
2108 | DATA (IFOREST(I,-1,3),I=1,2)/5,3/ |
2109 | - DATA SPROP(-1,3)/6/ |
2110 | + DATA (SPROP(I,-1,3),I=1,1)/6/ |
2111 | DATA TPRID(-1,3)/0/ |
2112 | DATA (IFOREST(I,-2,3),I=1,2)/4,-1/ |
2113 | - DATA SPROP(-2,3)/21/ |
2114 | + DATA (SPROP(I,-2,3),I=1,1)/21/ |
2115 | DATA TPRID(-2,3)/0/ |
2116 | C Diagram 4 |
2117 | DATA MAPCONFIG(4)/4/ |
2118 | DATA (IFOREST(I,-1,4),I=1,2)/4,3/ |
2119 | - DATA SPROP(-1,4)/21/ |
2120 | + DATA (SPROP(I,-1,4),I=1,1)/21/ |
2121 | DATA TPRID(-1,4)/0/ |
2122 | DATA (IFOREST(I,-2,4),I=1,2)/1,-1/ |
2123 | DATA TPRID(-2,4)/2/ |
2124 | - DATA SPROP(-2,4)/0/ |
2125 | + DATA (SPROP(I,-2,4),I=1,1)/0/ |
2126 | DATA (IFOREST(I,-3,4),I=1,2)/-2,5/ |
2127 | C Number of configs |
2128 | DATA MAPCONFIG(0)/4/ |
2129 | @@ -6863,155 +6868,156 @@ |
2130 | |
2131 | writer = writers.FortranWriter(self.give_pos('test')) |
2132 | |
2133 | - # Test configs file |
2134 | + # Test configs.inc file |
2135 | mapconfigs, s_and_t_channels = exporter.write_configs_file(writer, |
2136 | me) |
2137 | writer.close() |
2138 | + #print open(self.give_pos('test')).read() |
2139 | |
2140 | self.assertFileContains('test', |
2141 | """C Diagram 1 |
2142 | DATA MAPCONFIG(1)/1/ |
2143 | DATA (IFOREST(I,-1,1),I=1,2)/8,6/ |
2144 | - DATA SPROP(-1,1)/11/ |
2145 | + DATA (SPROP(I,-1,1),I=1,1)/11/ |
2146 | DATA TPRID(-1,1)/0/ |
2147 | DATA (IFOREST(I,-2,1),I=1,2)/7,-1/ |
2148 | - DATA SPROP(-2,1)/1000022/ |
2149 | + DATA (SPROP(I,-2,1),I=1,1)/1000022/ |
2150 | DATA TPRID(-2,1)/0/ |
2151 | DATA (IFOREST(I,-3,1),I=1,2)/5,3/ |
2152 | - DATA SPROP(-3,1)/11/ |
2153 | + DATA (SPROP(I,-3,1),I=1,1)/11/ |
2154 | DATA TPRID(-3,1)/0/ |
2155 | DATA (IFOREST(I,-4,1),I=1,2)/4,-3/ |
2156 | - DATA SPROP(-4,1)/1000022/ |
2157 | + DATA (SPROP(I,-4,1),I=1,1)/1000022/ |
2158 | DATA TPRID(-4,1)/0/ |
2159 | DATA (IFOREST(I,-5,1),I=1,2)/1,-4/ |
2160 | DATA TPRID(-5,1)/1000011/ |
2161 | - DATA SPROP(-5,1)/0/ |
2162 | + DATA (SPROP(I,-5,1),I=1,1)/0/ |
2163 | DATA (IFOREST(I,-6,1),I=1,2)/-5,-2/ |
2164 | C Diagram 2 |
2165 | DATA MAPCONFIG(2)/2/ |
2166 | DATA (IFOREST(I,-1,2),I=1,2)/8,7/ |
2167 | - DATA SPROP(-1,2)/-1000011/ |
2168 | + DATA (SPROP(I,-1,2),I=1,1)/-1000011/ |
2169 | DATA TPRID(-1,2)/0/ |
2170 | DATA (IFOREST(I,-2,2),I=1,2)/-1,6/ |
2171 | - DATA SPROP(-2,2)/1000022/ |
2172 | + DATA (SPROP(I,-2,2),I=1,1)/1000022/ |
2173 | DATA TPRID(-2,2)/0/ |
2174 | DATA (IFOREST(I,-3,2),I=1,2)/5,3/ |
2175 | - DATA SPROP(-3,2)/11/ |
2176 | + DATA (SPROP(I,-3,2),I=1,1)/11/ |
2177 | DATA TPRID(-3,2)/0/ |
2178 | DATA (IFOREST(I,-4,2),I=1,2)/4,-3/ |
2179 | - DATA SPROP(-4,2)/1000022/ |
2180 | + DATA (SPROP(I,-4,2),I=1,1)/1000022/ |
2181 | DATA TPRID(-4,2)/0/ |
2182 | DATA (IFOREST(I,-5,2),I=1,2)/1,-4/ |
2183 | DATA TPRID(-5,2)/1000011/ |
2184 | - DATA SPROP(-5,2)/0/ |
2185 | + DATA (SPROP(I,-5,2),I=1,1)/0/ |
2186 | DATA (IFOREST(I,-6,2),I=1,2)/-5,-2/ |
2187 | C Diagram 3 |
2188 | DATA MAPCONFIG(3)/3/ |
2189 | DATA (IFOREST(I,-1,3),I=1,2)/8,6/ |
2190 | - DATA SPROP(-1,3)/11/ |
2191 | + DATA (SPROP(I,-1,3),I=1,1)/11/ |
2192 | DATA TPRID(-1,3)/0/ |
2193 | DATA (IFOREST(I,-2,3),I=1,2)/7,-1/ |
2194 | - DATA SPROP(-2,3)/1000022/ |
2195 | + DATA (SPROP(I,-2,3),I=1,1)/1000022/ |
2196 | DATA TPRID(-2,3)/0/ |
2197 | DATA (IFOREST(I,-3,3),I=1,2)/5,4/ |
2198 | - DATA SPROP(-3,3)/-1000011/ |
2199 | + DATA (SPROP(I,-3,3),I=1,1)/-1000011/ |
2200 | DATA TPRID(-3,3)/0/ |
2201 | DATA (IFOREST(I,-4,3),I=1,2)/-3,3/ |
2202 | - DATA SPROP(-4,3)/1000022/ |
2203 | + DATA (SPROP(I,-4,3),I=1,1)/1000022/ |
2204 | DATA TPRID(-4,3)/0/ |
2205 | DATA (IFOREST(I,-5,3),I=1,2)/1,-4/ |
2206 | DATA TPRID(-5,3)/1000011/ |
2207 | - DATA SPROP(-5,3)/0/ |
2208 | + DATA (SPROP(I,-5,3),I=1,1)/0/ |
2209 | DATA (IFOREST(I,-6,3),I=1,2)/-5,-2/ |
2210 | C Diagram 4 |
2211 | DATA MAPCONFIG(4)/4/ |
2212 | DATA (IFOREST(I,-1,4),I=1,2)/8,7/ |
2213 | - DATA SPROP(-1,4)/-1000011/ |
2214 | + DATA (SPROP(I,-1,4),I=1,1)/-1000011/ |
2215 | DATA TPRID(-1,4)/0/ |
2216 | DATA (IFOREST(I,-2,4),I=1,2)/-1,6/ |
2217 | - DATA SPROP(-2,4)/1000022/ |
2218 | + DATA (SPROP(I,-2,4),I=1,1)/1000022/ |
2219 | DATA TPRID(-2,4)/0/ |
2220 | DATA (IFOREST(I,-3,4),I=1,2)/5,4/ |
2221 | - DATA SPROP(-3,4)/-1000011/ |
2222 | + DATA (SPROP(I,-3,4),I=1,1)/-1000011/ |
2223 | DATA TPRID(-3,4)/0/ |
2224 | DATA (IFOREST(I,-4,4),I=1,2)/-3,3/ |
2225 | - DATA SPROP(-4,4)/1000022/ |
2226 | + DATA (SPROP(I,-4,4),I=1,1)/1000022/ |
2227 | DATA TPRID(-4,4)/0/ |
2228 | DATA (IFOREST(I,-5,4),I=1,2)/1,-4/ |
2229 | DATA TPRID(-5,4)/1000011/ |
2230 | - DATA SPROP(-5,4)/0/ |
2231 | + DATA (SPROP(I,-5,4),I=1,1)/0/ |
2232 | DATA (IFOREST(I,-6,4),I=1,2)/-5,-2/ |
2233 | C Diagram 5 |
2234 | DATA MAPCONFIG(5)/5/ |
2235 | DATA (IFOREST(I,-1,5),I=1,2)/5,3/ |
2236 | - DATA SPROP(-1,5)/11/ |
2237 | + DATA (SPROP(I,-1,5),I=1,1)/11/ |
2238 | DATA TPRID(-1,5)/0/ |
2239 | DATA (IFOREST(I,-2,5),I=1,2)/4,-1/ |
2240 | - DATA SPROP(-2,5)/1000022/ |
2241 | + DATA (SPROP(I,-2,5),I=1,1)/1000022/ |
2242 | DATA TPRID(-2,5)/0/ |
2243 | DATA (IFOREST(I,-3,5),I=1,2)/8,6/ |
2244 | - DATA SPROP(-3,5)/11/ |
2245 | + DATA (SPROP(I,-3,5),I=1,1)/11/ |
2246 | DATA TPRID(-3,5)/0/ |
2247 | DATA (IFOREST(I,-4,5),I=1,2)/7,-3/ |
2248 | - DATA SPROP(-4,5)/1000022/ |
2249 | + DATA (SPROP(I,-4,5),I=1,1)/1000022/ |
2250 | DATA TPRID(-4,5)/0/ |
2251 | DATA (IFOREST(I,-5,5),I=1,2)/1,-4/ |
2252 | DATA TPRID(-5,5)/1000011/ |
2253 | - DATA SPROP(-5,5)/0/ |
2254 | + DATA (SPROP(I,-5,5),I=1,1)/0/ |
2255 | DATA (IFOREST(I,-6,5),I=1,2)/-5,-2/ |
2256 | C Diagram 6 |
2257 | DATA MAPCONFIG(6)/6/ |
2258 | DATA (IFOREST(I,-1,6),I=1,2)/5,3/ |
2259 | - DATA SPROP(-1,6)/11/ |
2260 | + DATA (SPROP(I,-1,6),I=1,1)/11/ |
2261 | DATA TPRID(-1,6)/0/ |
2262 | DATA (IFOREST(I,-2,6),I=1,2)/4,-1/ |
2263 | - DATA SPROP(-2,6)/1000022/ |
2264 | + DATA (SPROP(I,-2,6),I=1,1)/1000022/ |
2265 | DATA TPRID(-2,6)/0/ |
2266 | DATA (IFOREST(I,-3,6),I=1,2)/8,7/ |
2267 | - DATA SPROP(-3,6)/-1000011/ |
2268 | + DATA (SPROP(I,-3,6),I=1,1)/-1000011/ |
2269 | DATA TPRID(-3,6)/0/ |
2270 | DATA (IFOREST(I,-4,6),I=1,2)/-3,6/ |
2271 | - DATA SPROP(-4,6)/1000022/ |
2272 | + DATA (SPROP(I,-4,6),I=1,1)/1000022/ |
2273 | DATA TPRID(-4,6)/0/ |
2274 | DATA (IFOREST(I,-5,6),I=1,2)/1,-4/ |
2275 | DATA TPRID(-5,6)/1000011/ |
2276 | - DATA SPROP(-5,6)/0/ |
2277 | + DATA (SPROP(I,-5,6),I=1,1)/0/ |
2278 | DATA (IFOREST(I,-6,6),I=1,2)/-5,-2/ |
2279 | C Diagram 7 |
2280 | DATA MAPCONFIG(7)/7/ |
2281 | DATA (IFOREST(I,-1,7),I=1,2)/5,4/ |
2282 | - DATA SPROP(-1,7)/-1000011/ |
2283 | + DATA (SPROP(I,-1,7),I=1,1)/-1000011/ |
2284 | DATA TPRID(-1,7)/0/ |
2285 | DATA (IFOREST(I,-2,7),I=1,2)/-1,3/ |
2286 | - DATA SPROP(-2,7)/1000022/ |
2287 | + DATA (SPROP(I,-2,7),I=1,1)/1000022/ |
2288 | DATA TPRID(-2,7)/0/ |
2289 | DATA (IFOREST(I,-3,7),I=1,2)/8,6/ |
2290 | - DATA SPROP(-3,7)/11/ |
2291 | + DATA (SPROP(I,-3,7),I=1,1)/11/ |
2292 | DATA TPRID(-3,7)/0/ |
2293 | DATA (IFOREST(I,-4,7),I=1,2)/7,-3/ |
2294 | - DATA SPROP(-4,7)/1000022/ |
2295 | + DATA (SPROP(I,-4,7),I=1,1)/1000022/ |
2296 | DATA TPRID(-4,7)/0/ |
2297 | DATA (IFOREST(I,-5,7),I=1,2)/1,-4/ |
2298 | DATA TPRID(-5,7)/1000011/ |
2299 | - DATA SPROP(-5,7)/0/ |
2300 | + DATA (SPROP(I,-5,7),I=1,1)/0/ |
2301 | DATA (IFOREST(I,-6,7),I=1,2)/-5,-2/ |
2302 | C Diagram 8 |
2303 | DATA MAPCONFIG(8)/8/ |
2304 | DATA (IFOREST(I,-1,8),I=1,2)/5,4/ |
2305 | - DATA SPROP(-1,8)/-1000011/ |
2306 | + DATA (SPROP(I,-1,8),I=1,1)/-1000011/ |
2307 | DATA TPRID(-1,8)/0/ |
2308 | DATA (IFOREST(I,-2,8),I=1,2)/-1,3/ |
2309 | - DATA SPROP(-2,8)/1000022/ |
2310 | + DATA (SPROP(I,-2,8),I=1,1)/1000022/ |
2311 | DATA TPRID(-2,8)/0/ |
2312 | DATA (IFOREST(I,-3,8),I=1,2)/8,7/ |
2313 | - DATA SPROP(-3,8)/-1000011/ |
2314 | + DATA (SPROP(I,-3,8),I=1,1)/-1000011/ |
2315 | DATA TPRID(-3,8)/0/ |
2316 | DATA (IFOREST(I,-4,8),I=1,2)/-3,6/ |
2317 | - DATA SPROP(-4,8)/1000022/ |
2318 | + DATA (SPROP(I,-4,8),I=1,1)/1000022/ |
2319 | DATA TPRID(-4,8)/0/ |
2320 | DATA (IFOREST(I,-5,8),I=1,2)/1,-4/ |
2321 | DATA TPRID(-5,8)/1000011/ |
2322 | - DATA SPROP(-5,8)/0/ |
2323 | + DATA (SPROP(I,-5,8),I=1,1)/0/ |
2324 | DATA (IFOREST(I,-6,8),I=1,2)/-5,-2/ |
2325 | C Number of configs |
2326 | DATA MAPCONFIG(0)/8/ |
2327 | @@ -8051,6 +8057,7 @@ |
2328 | nconfig, s_and_t_channels = exporter.write_configs_file(writer, |
2329 | me) |
2330 | writer.close() |
2331 | + #print open(self.give_pos('test')).read() |
2332 | |
2333 | # 2 21 > 6 -6 23 2 |
2334 | # 1 2 3 4 5 6 |
2335 | @@ -8058,220 +8065,124 @@ |
2336 | """C Diagram 1 |
2337 | DATA MAPCONFIG(1)/1/ |
2338 | DATA (IFOREST(I,-1,1),I=1,2)/5,3/ |
2339 | - DATA SPROP(-1,1)/6/ |
2340 | + DATA (SPROP(I,-1,1),I=1,1)/6/ |
2341 | DATA TPRID(-1,1)/0/ |
2342 | DATA (IFOREST(I,-2,1),I=1,2)/4,-1/ |
2343 | - DATA SPROP(-2,1)/21/ |
2344 | + DATA (SPROP(I,-2,1),I=1,1)/21/ |
2345 | DATA TPRID(-2,1)/0/ |
2346 | DATA (IFOREST(I,-3,1),I=1,2)/6,-2/ |
2347 | - DATA SPROP(-3,1)/2/ |
2348 | + DATA (SPROP(I,-3,1),I=1,1)/2/ |
2349 | DATA TPRID(-3,1)/0/ |
2350 | C Diagram 2 |
2351 | DATA MAPCONFIG(2)/2/ |
2352 | DATA (IFOREST(I,-1,2),I=1,2)/5,4/ |
2353 | - DATA SPROP(-1,2)/-6/ |
2354 | + DATA (SPROP(I,-1,2),I=1,1)/-6/ |
2355 | DATA TPRID(-1,2)/0/ |
2356 | DATA (IFOREST(I,-2,2),I=1,2)/-1,3/ |
2357 | - DATA SPROP(-2,2)/21/ |
2358 | + DATA (SPROP(I,-2,2),I=1,1)/21/ |
2359 | DATA TPRID(-2,2)/0/ |
2360 | DATA (IFOREST(I,-3,2),I=1,2)/6,-2/ |
2361 | - DATA SPROP(-3,2)/2/ |
2362 | + DATA (SPROP(I,-3,2),I=1,1)/2/ |
2363 | DATA TPRID(-3,2)/0/ |
2364 | C Diagram 3 |
2365 | DATA MAPCONFIG(3)/3/ |
2366 | DATA (IFOREST(I,-1,3),I=1,2)/1,6/ |
2367 | DATA TPRID(-1,3)/21/ |
2368 | - DATA SPROP(-1,3)/0/ |
2369 | + DATA (SPROP(I,-1,3),I=1,1)/0/ |
2370 | DATA (IFOREST(I,-2,3),I=1,2)/-1,4/ |
2371 | DATA TPRID(-2,3)/6/ |
2372 | - DATA SPROP(-2,3)/0/ |
2373 | + DATA (SPROP(I,-2,3),I=1,1)/0/ |
2374 | DATA (IFOREST(I,-3,3),I=1,2)/-2,5/ |
2375 | DATA TPRID(-3,3)/6/ |
2376 | - DATA SPROP(-3,3)/0/ |
2377 | + DATA (SPROP(I,-3,3),I=1,1)/0/ |
2378 | DATA (IFOREST(I,-4,3),I=1,2)/-3,3/ |
2379 | C Diagram 4 |
2380 | DATA MAPCONFIG(4)/4/ |
2381 | DATA (IFOREST(I,-1,4),I=1,2)/5,4/ |
2382 | - DATA SPROP(-1,4)/-6/ |
2383 | + DATA (SPROP(I,-1,4),I=1,1)/-6/ |
2384 | DATA TPRID(-1,4)/0/ |
2385 | DATA (IFOREST(I,-2,4),I=1,2)/1,6/ |
2386 | DATA TPRID(-2,4)/21/ |
2387 | - DATA SPROP(-2,4)/0/ |
2388 | + DATA (SPROP(I,-2,4),I=1,1)/0/ |
2389 | DATA (IFOREST(I,-3,4),I=1,2)/-2,-1/ |
2390 | DATA TPRID(-3,4)/6/ |
2391 | - DATA SPROP(-3,4)/0/ |
2392 | + DATA (SPROP(I,-3,4),I=1,1)/0/ |
2393 | DATA (IFOREST(I,-4,4),I=1,2)/-3,3/ |
2394 | C Diagram 5 |
2395 | DATA MAPCONFIG(5)/5/ |
2396 | DATA (IFOREST(I,-1,5),I=1,2)/1,6/ |
2397 | DATA TPRID(-1,5)/21/ |
2398 | - DATA SPROP(-1,5)/0/ |
2399 | + DATA (SPROP(I,-1,5),I=1,1)/0/ |
2400 | DATA (IFOREST(I,-2,5),I=1,2)/-1,3/ |
2401 | DATA TPRID(-2,5)/6/ |
2402 | - DATA SPROP(-2,5)/0/ |
2403 | + DATA (SPROP(I,-2,5),I=1,1)/0/ |
2404 | DATA (IFOREST(I,-3,5),I=1,2)/-2,5/ |
2405 | DATA TPRID(-3,5)/6/ |
2406 | - DATA SPROP(-3,5)/0/ |
2407 | + DATA (SPROP(I,-3,5),I=1,1)/0/ |
2408 | DATA (IFOREST(I,-4,5),I=1,2)/-3,4/ |
2409 | C Diagram 6 |
2410 | DATA MAPCONFIG(6)/6/ |
2411 | DATA (IFOREST(I,-1,6),I=1,2)/5,3/ |
2412 | - DATA SPROP(-1,6)/6/ |
2413 | + DATA (SPROP(I,-1,6),I=1,1)/6/ |
2414 | DATA TPRID(-1,6)/0/ |
2415 | DATA (IFOREST(I,-2,6),I=1,2)/1,6/ |
2416 | DATA TPRID(-2,6)/21/ |
2417 | - DATA SPROP(-2,6)/0/ |
2418 | + DATA (SPROP(I,-2,6),I=1,1)/0/ |
2419 | DATA (IFOREST(I,-3,6),I=1,2)/-2,-1/ |
2420 | DATA TPRID(-3,6)/6/ |
2421 | - DATA SPROP(-3,6)/0/ |
2422 | + DATA (SPROP(I,-3,6),I=1,1)/0/ |
2423 | DATA (IFOREST(I,-4,6),I=1,2)/-3,4/ |
2424 | C Diagram 7 |
2425 | DATA MAPCONFIG(7)/7/ |
2426 | DATA (IFOREST(I,-1,7),I=1,2)/5,3/ |
2427 | - DATA SPROP(-1,7)/6/ |
2428 | + DATA (SPROP(I,-1,7),I=1,1)/6/ |
2429 | DATA TPRID(-1,7)/0/ |
2430 | DATA (IFOREST(I,-2,7),I=1,2)/1,6/ |
2431 | DATA TPRID(-2,7)/21/ |
2432 | - DATA SPROP(-2,7)/0/ |
2433 | + DATA (SPROP(I,-2,7),I=1,1)/0/ |
2434 | DATA (IFOREST(I,-3,7),I=1,2)/-2,4/ |
2435 | DATA TPRID(-3,7)/6/ |
2436 | - DATA SPROP(-3,7)/0/ |
2437 | + DATA (SPROP(I,-3,7),I=1,1)/0/ |
2438 | DATA (IFOREST(I,-4,7),I=1,2)/-3,-1/ |
2439 | C Diagram 8 |
2440 | DATA MAPCONFIG(8)/8/ |
2441 | DATA (IFOREST(I,-1,8),I=1,2)/5,4/ |
2442 | - DATA SPROP(-1,8)/-6/ |
2443 | + DATA (SPROP(I,-1,8),I=1,1)/-6/ |
2444 | DATA TPRID(-1,8)/0/ |
2445 | DATA (IFOREST(I,-2,8),I=1,2)/1,6/ |
2446 | DATA TPRID(-2,8)/21/ |
2447 | - DATA SPROP(-2,8)/0/ |
2448 | + DATA (SPROP(I,-2,8),I=1,1)/0/ |
2449 | DATA (IFOREST(I,-3,8),I=1,2)/-2,3/ |
2450 | DATA TPRID(-3,8)/6/ |
2451 | - DATA SPROP(-3,8)/0/ |
2452 | + DATA (SPROP(I,-3,8),I=1,1)/0/ |
2453 | DATA (IFOREST(I,-4,8),I=1,2)/-3,-1/ |
2454 | C Diagram 9 |
2455 | DATA MAPCONFIG(9)/9/ |
2456 | DATA (IFOREST(I,-1,9),I=1,2)/5,3/ |
2457 | - DATA SPROP(-1,9)/6/ |
2458 | + DATA (SPROP(I,-1,9),I=1,1)/6/ |
2459 | DATA TPRID(-1,9)/0/ |
2460 | DATA (IFOREST(I,-2,9),I=1,2)/4,-1/ |
2461 | - DATA SPROP(-2,9)/21/ |
2462 | + DATA (SPROP(I,-2,9),I=1,1)/21/ |
2463 | DATA TPRID(-2,9)/0/ |
2464 | DATA (IFOREST(I,-3,9),I=1,2)/1,-2/ |
2465 | DATA TPRID(-3,9)/2/ |
2466 | - DATA SPROP(-3,9)/0/ |
2467 | + DATA (SPROP(I,-3,9),I=1,1)/0/ |
2468 | DATA (IFOREST(I,-4,9),I=1,2)/-3,6/ |
2469 | C Diagram 10 |
2470 | DATA MAPCONFIG(10)/10/ |
2471 | DATA (IFOREST(I,-1,10),I=1,2)/5,4/ |
2472 | - DATA SPROP(-1,10)/-6/ |
2473 | + DATA (SPROP(I,-1,10),I=1,1)/-6/ |
2474 | DATA TPRID(-1,10)/0/ |
2475 | DATA (IFOREST(I,-2,10),I=1,2)/-1,3/ |
2476 | - DATA SPROP(-2,10)/21/ |
2477 | + DATA (SPROP(I,-2,10),I=1,1)/21/ |
2478 | DATA TPRID(-2,10)/0/ |
2479 | DATA (IFOREST(I,-3,10),I=1,2)/1,-2/ |
2480 | DATA TPRID(-3,10)/2/ |
2481 | - DATA SPROP(-3,10)/0/ |
2482 | + DATA (SPROP(I,-3,10),I=1,1)/0/ |
2483 | DATA (IFOREST(I,-4,10),I=1,2)/-3,6/ |
2484 | C Number of configs |
2485 | DATA MAPCONFIG(0)/10/ |
2486 | """) |
2487 | - # Test props.inc |
2488 | - writer = writers.FortranWriter(self.give_pos('test')) |
2489 | - exporter.write_props_file(writer, me, s_and_t_channels) |
2490 | - writer.close() |
2491 | - self.assertFileContains('test', |
2492 | -""" PMASS(-1,1) = ABS(MT) |
2493 | - PWIDTH(-1,1) = ABS(WT) |
2494 | - POW(-1,1) = 1 |
2495 | - PMASS(-2,1) = ZERO |
2496 | - PWIDTH(-2,1) = ZERO |
2497 | - POW(-2,1) = 2 |
2498 | - PMASS(-3,1) = ZERO |
2499 | - PWIDTH(-3,1) = ZERO |
2500 | - POW(-3,1) = 1 |
2501 | - PMASS(-1,2) = ABS(MT) |
2502 | - PWIDTH(-1,2) = ABS(WT) |
2503 | - POW(-1,2) = 1 |
2504 | - PMASS(-2,2) = ZERO |
2505 | - PWIDTH(-2,2) = ZERO |
2506 | - POW(-2,2) = 2 |
2507 | - PMASS(-3,2) = ZERO |
2508 | - PWIDTH(-3,2) = ZERO |
2509 | - POW(-3,2) = 1 |
2510 | - PMASS(-1,3) = ZERO |
2511 | - PWIDTH(-1,3) = ZERO |
2512 | - POW(-1,3) = 2 |
2513 | - PMASS(-2,3) = ABS(MT) |
2514 | - PWIDTH(-2,3) = ABS(WT) |
2515 | - POW(-2,3) = 1 |
2516 | - PMASS(-3,3) = ABS(MT) |
2517 | - PWIDTH(-3,3) = ABS(WT) |
2518 | - POW(-3,3) = 1 |
2519 | - PMASS(-1,4) = ABS(MT) |
2520 | - PWIDTH(-1,4) = ABS(WT) |
2521 | - POW(-1,4) = 1 |
2522 | - PMASS(-2,4) = ZERO |
2523 | - PWIDTH(-2,4) = ZERO |
2524 | - POW(-2,4) = 2 |
2525 | - PMASS(-3,4) = ABS(MT) |
2526 | - PWIDTH(-3,4) = ABS(WT) |
2527 | - POW(-3,4) = 1 |
2528 | - PMASS(-1,5) = ZERO |
2529 | - PWIDTH(-1,5) = ZERO |
2530 | - POW(-1,5) = 2 |
2531 | - PMASS(-2,5) = ABS(MT) |
2532 | - PWIDTH(-2,5) = ABS(WT) |
2533 | - POW(-2,5) = 1 |
2534 | - PMASS(-3,5) = ABS(MT) |
2535 | - PWIDTH(-3,5) = ABS(WT) |
2536 | - POW(-3,5) = 1 |
2537 | - PMASS(-1,6) = ABS(MT) |
2538 | - PWIDTH(-1,6) = ABS(WT) |
2539 | - POW(-1,6) = 1 |
2540 | - PMASS(-2,6) = ZERO |
2541 | - PWIDTH(-2,6) = ZERO |
2542 | - POW(-2,6) = 2 |
2543 | - PMASS(-3,6) = ABS(MT) |
2544 | - PWIDTH(-3,6) = ABS(WT) |
2545 | - POW(-3,6) = 1 |
2546 | - PMASS(-1,7) = ABS(MT) |
2547 | - PWIDTH(-1,7) = ABS(WT) |
2548 | - POW(-1,7) = 1 |
2549 | - PMASS(-2,7) = ZERO |
2550 | - PWIDTH(-2,7) = ZERO |
2551 | - POW(-2,7) = 2 |
2552 | - PMASS(-3,7) = ABS(MT) |
2553 | - PWIDTH(-3,7) = ABS(WT) |
2554 | - POW(-3,7) = 1 |
2555 | - PMASS(-1,8) = ABS(MT) |
2556 | - PWIDTH(-1,8) = ABS(WT) |
2557 | - POW(-1,8) = 1 |
2558 | - PMASS(-2,8) = ZERO |
2559 | - PWIDTH(-2,8) = ZERO |
2560 | - POW(-2,8) = 2 |
2561 | - PMASS(-3,8) = ABS(MT) |
2562 | - PWIDTH(-3,8) = ABS(WT) |
2563 | - POW(-3,8) = 1 |
2564 | - PMASS(-1,9) = ABS(MT) |
2565 | - PWIDTH(-1,9) = ABS(WT) |
2566 | - POW(-1,9) = 1 |
2567 | - PMASS(-2,9) = ZERO |
2568 | - PWIDTH(-2,9) = ZERO |
2569 | - POW(-2,9) = 2 |
2570 | - PMASS(-3,9) = ZERO |
2571 | - PWIDTH(-3,9) = ZERO |
2572 | - POW(-3,9) = 1 |
2573 | - PMASS(-1,10) = ABS(MT) |
2574 | - PWIDTH(-1,10) = ABS(WT) |
2575 | - POW(-1,10) = 1 |
2576 | - PMASS(-2,10) = ZERO |
2577 | - PWIDTH(-2,10) = ZERO |
2578 | - POW(-2,10) = 2 |
2579 | - PMASS(-3,10) = ZERO |
2580 | - PWIDTH(-3,10) = ZERO |
2581 | - POW(-3,10) = 1 |
2582 | -""") |
2583 | |
2584 | def test_configs_long_decay(self): |
2585 | """Test configs.inc which previously failed. |
2586 | @@ -8428,72 +8339,74 @@ |
2587 | nconfig, s_and_t_channels = exporter.write_configs_file(writer, me) |
2588 | writer.close() |
2589 | |
2590 | + #print open(self.give_pos('test')).read() |
2591 | + |
2592 | self.assertFileContains('test', |
2593 | """C Diagram 1 |
2594 | DATA MAPCONFIG(1)/1/ |
2595 | DATA (IFOREST(I,-1,1),I=1,2)/3,2/ |
2596 | - DATA SPROP(-1,1)/5/ |
2597 | + DATA (SPROP(I,-1,1),I=1,1)/5/ |
2598 | DATA TPRID(-1,1)/0/ |
2599 | DATA (IFOREST(I,-2,1),I=1,2)/4,-1/ |
2600 | - DATA SPROP(-2,1)/6/ |
2601 | + DATA (SPROP(I,-2,1),I=1,1)/6/ |
2602 | DATA TPRID(-2,1)/0/ |
2603 | DATA (IFOREST(I,-3,1),I=1,2)/5,-2/ |
2604 | - DATA SPROP(-3,1)/6/ |
2605 | + DATA (SPROP(I,-3,1),I=1,1)/6/ |
2606 | DATA TPRID(-3,1)/0/ |
2607 | C Diagram 2 |
2608 | DATA MAPCONFIG(2)/2/ |
2609 | DATA (IFOREST(I,-1,2),I=1,2)/3,2/ |
2610 | - DATA SPROP(-1,2)/5/ |
2611 | + DATA (SPROP(I,-1,2),I=1,1)/5/ |
2612 | DATA TPRID(-1,2)/0/ |
2613 | DATA (IFOREST(I,-2,2),I=1,2)/5,-1/ |
2614 | - DATA SPROP(-2,2)/5/ |
2615 | + DATA (SPROP(I,-2,2),I=1,1)/5/ |
2616 | DATA TPRID(-2,2)/0/ |
2617 | DATA (IFOREST(I,-3,2),I=1,2)/4,-2/ |
2618 | - DATA SPROP(-3,2)/6/ |
2619 | + DATA (SPROP(I,-3,2),I=1,1)/6/ |
2620 | DATA TPRID(-3,2)/0/ |
2621 | C Diagram 3 |
2622 | DATA MAPCONFIG(3)/3/ |
2623 | DATA (IFOREST(I,-1,3),I=1,2)/4,3/ |
2624 | - DATA SPROP(-1,3)/6/ |
2625 | + DATA (SPROP(I,-1,3),I=1,1)/6/ |
2626 | DATA TPRID(-1,3)/0/ |
2627 | DATA (IFOREST(I,-2,3),I=1,2)/-1,2/ |
2628 | - DATA SPROP(-2,3)/6/ |
2629 | + DATA (SPROP(I,-2,3),I=1,1)/6/ |
2630 | DATA TPRID(-2,3)/0/ |
2631 | DATA (IFOREST(I,-3,3),I=1,2)/5,-2/ |
2632 | - DATA SPROP(-3,3)/6/ |
2633 | + DATA (SPROP(I,-3,3),I=1,1)/6/ |
2634 | DATA TPRID(-3,3)/0/ |
2635 | C Diagram 4 |
2636 | DATA MAPCONFIG(4)/4/ |
2637 | DATA (IFOREST(I,-1,4),I=1,2)/4,3/ |
2638 | - DATA SPROP(-1,4)/6/ |
2639 | + DATA (SPROP(I,-1,4),I=1,1)/6/ |
2640 | DATA TPRID(-1,4)/0/ |
2641 | DATA (IFOREST(I,-2,4),I=1,2)/5,-1/ |
2642 | - DATA SPROP(-2,4)/6/ |
2643 | + DATA (SPROP(I,-2,4),I=1,1)/6/ |
2644 | DATA TPRID(-2,4)/0/ |
2645 | DATA (IFOREST(I,-3,4),I=1,2)/-2,2/ |
2646 | - DATA SPROP(-3,4)/6/ |
2647 | + DATA (SPROP(I,-3,4),I=1,1)/6/ |
2648 | DATA TPRID(-3,4)/0/ |
2649 | C Diagram 5 |
2650 | DATA MAPCONFIG(5)/5/ |
2651 | DATA (IFOREST(I,-1,5),I=1,2)/5,3/ |
2652 | - DATA SPROP(-1,5)/5/ |
2653 | + DATA (SPROP(I,-1,5),I=1,1)/5/ |
2654 | DATA TPRID(-1,5)/0/ |
2655 | DATA (IFOREST(I,-2,5),I=1,2)/-1,2/ |
2656 | - DATA SPROP(-2,5)/5/ |
2657 | + DATA (SPROP(I,-2,5),I=1,1)/5/ |
2658 | DATA TPRID(-2,5)/0/ |
2659 | DATA (IFOREST(I,-3,5),I=1,2)/4,-2/ |
2660 | - DATA SPROP(-3,5)/6/ |
2661 | + DATA (SPROP(I,-3,5),I=1,1)/6/ |
2662 | DATA TPRID(-3,5)/0/ |
2663 | C Diagram 6 |
2664 | DATA MAPCONFIG(6)/6/ |
2665 | DATA (IFOREST(I,-1,6),I=1,2)/5,3/ |
2666 | - DATA SPROP(-1,6)/5/ |
2667 | + DATA (SPROP(I,-1,6),I=1,1)/5/ |
2668 | DATA TPRID(-1,6)/0/ |
2669 | DATA (IFOREST(I,-2,6),I=1,2)/4,-1/ |
2670 | - DATA SPROP(-2,6)/6/ |
2671 | + DATA (SPROP(I,-2,6),I=1,1)/6/ |
2672 | DATA TPRID(-2,6)/0/ |
2673 | DATA (IFOREST(I,-3,6),I=1,2)/-2,2/ |
2674 | - DATA SPROP(-3,6)/6/ |
2675 | + DATA (SPROP(I,-3,6),I=1,1)/6/ |
2676 | DATA TPRID(-3,6)/0/ |
2677 | C Number of configs |
2678 | DATA MAPCONFIG(0)/6/ |
2679 | |
2680 | === modified file 'tests/unit_tests/iolibs/test_group_subprocs.py' |
2681 | --- tests/unit_tests/iolibs/test_group_subprocs.py 2011-07-21 15:36:06 +0000 |
2682 | +++ tests/unit_tests/iolibs/test_group_subprocs.py 2011-09-01 14:57:19 +0000 |
2683 | @@ -531,3 +531,236 @@ |
2684 | self.assertEqual(group.get('name'), |
2685 | group_names[igroup]) |
2686 | |
2687 | + def test_special_group_decay_chain(self): |
2688 | + """Test group_amplitudes for special decay chains.""" |
2689 | + |
2690 | + mypartlist = base_objects.ParticleList() |
2691 | + myinterlist = base_objects.InteractionList() |
2692 | + |
2693 | + # A gluon |
2694 | + mypartlist.append(base_objects.Particle({'name':'g', |
2695 | + 'antiname':'g', |
2696 | + 'spin':3, |
2697 | + 'color':1, |
2698 | + 'mass':'zero', |
2699 | + 'width':'zero', |
2700 | + 'texname':'g', |
2701 | + 'antitexname':'g', |
2702 | + 'line':'curly', |
2703 | + 'charge':0., |
2704 | + 'pdg_code':21, |
2705 | + 'propagating':True, |
2706 | + 'is_part':True, |
2707 | + 'self_antipart':True})) |
2708 | + g = mypartlist[-1] |
2709 | + |
2710 | + # A gluino |
2711 | + mypartlist.append(base_objects.Particle({'name':'go', |
2712 | + 'antiname':'go', |
2713 | + 'spin':2, |
2714 | + 'color':1, |
2715 | + 'mass':'MGO', |
2716 | + 'width':'WGO', |
2717 | + 'texname':'go', |
2718 | + 'antitexname':'go', |
2719 | + 'line':'curly', |
2720 | + 'charge':0., |
2721 | + 'pdg_code':1000021, |
2722 | + 'propagating':True, |
2723 | + 'is_part':True, |
2724 | + 'self_antipart':True})) |
2725 | + go = mypartlist[-1] |
2726 | + |
2727 | + # A quark D and its antiparticle |
2728 | + mypartlist.append(base_objects.Particle({'name':'d', |
2729 | + 'antiname':'d~', |
2730 | + 'spin':2, |
2731 | + 'color':1, |
2732 | + 'mass':'zero', |
2733 | + 'width':'zero', |
2734 | + 'texname':'d', |
2735 | + 'antitexname':'\bar d', |
2736 | + 'line':'straight', |
2737 | + 'charge':-1. / 3., |
2738 | + 'pdg_code':1, |
2739 | + 'propagating':True, |
2740 | + 'is_part':True, |
2741 | + 'self_antipart':False})) |
2742 | + d = mypartlist[-1] |
2743 | + antid = copy.copy(d) |
2744 | + antid.set('is_part', False) |
2745 | + |
2746 | + # A d squark and its antiparticle |
2747 | + mypartlist.append(base_objects.Particle({'name':'dl', |
2748 | + 'antiname':'dl~', |
2749 | + 'spin':0, |
2750 | + 'color':1, |
2751 | + 'mass':'MDL', |
2752 | + 'width':'WDL', |
2753 | + 'texname':'dl', |
2754 | + 'antitexname':'\bar dl', |
2755 | + 'line':'straight', |
2756 | + 'charge':-1. / 3., |
2757 | + 'pdg_code':1000001, |
2758 | + 'propagating':True, |
2759 | + 'is_part':True, |
2760 | + 'self_antipart':False})) |
2761 | + dl = mypartlist[-1] |
2762 | + antidl = copy.copy(dl) |
2763 | + antidl.set('is_part', False) |
2764 | + |
2765 | + # A neutralino |
2766 | + mypartlist.append(base_objects.Particle({'name':'n1', |
2767 | + 'antiname':'n1', |
2768 | + 'spin':2, |
2769 | + 'color':1, |
2770 | + 'mass':'MN1', |
2771 | + 'width':'WN1', |
2772 | + 'texname':'n1', |
2773 | + 'antitexname':'n1', |
2774 | + 'line':'wavy', |
2775 | + 'charge':0., |
2776 | + 'pdg_code':1000022, |
2777 | + 'propagating':True, |
2778 | + 'is_part':True, |
2779 | + 'self_antipart':True})) |
2780 | + n1 = mypartlist[-1] |
2781 | + |
2782 | + # 3 gluon vertiex |
2783 | + myinterlist.append(base_objects.Interaction({ |
2784 | + 'id': 1, |
2785 | + 'particles': base_objects.ParticleList(\ |
2786 | + [g] * 3), |
2787 | + 'color': [], |
2788 | + 'lorentz':['L1'], |
2789 | + 'couplings':{(0, 0):'G'}, |
2790 | + 'orders':{'QCD':1}})) |
2791 | + |
2792 | + # Gluon couplings to gluinos |
2793 | + myinterlist.append(base_objects.Interaction({ |
2794 | + 'id': 3, |
2795 | + 'particles': base_objects.ParticleList(\ |
2796 | + [go, \ |
2797 | + go, \ |
2798 | + g]), |
2799 | + 'color': [], |
2800 | + 'lorentz':['L1'], |
2801 | + 'couplings':{(0, 0):'GQQ'}, |
2802 | + 'orders':{'QCD':1}})) |
2803 | + |
2804 | + # Gluino and neutralino couplings to quarks and squarks |
2805 | + myinterlist.append(base_objects.Interaction({ |
2806 | + 'id': 4, |
2807 | + 'particles': base_objects.ParticleList(\ |
2808 | + [go, |
2809 | + d, |
2810 | + antidl]), |
2811 | + 'color': [], |
2812 | + 'lorentz':['L1'], |
2813 | + 'couplings':{(0, 0):'GQED'}, |
2814 | + 'orders':{'QCD':1}})) |
2815 | + |
2816 | + myinterlist.append(base_objects.Interaction({ |
2817 | + 'id': 5, |
2818 | + 'particles': base_objects.ParticleList(\ |
2819 | + [antid, |
2820 | + go, |
2821 | + dl]), |
2822 | + 'color': [], |
2823 | + 'lorentz':['L1'], |
2824 | + 'couplings':{(0, 0):'GQED'}, |
2825 | + 'orders':{'QCD':1}})) |
2826 | + |
2827 | + myinterlist.append(base_objects.Interaction({ |
2828 | + 'id': 6, |
2829 | + 'particles': base_objects.ParticleList(\ |
2830 | + [n1, \ |
2831 | + d, \ |
2832 | + antidl]), |
2833 | + 'color': [], |
2834 | + 'lorentz':['L1'], |
2835 | + 'couplings':{(0, 0):'GQQ'}, |
2836 | + 'orders':{'QED':1}})) |
2837 | + |
2838 | + myinterlist.append(base_objects.Interaction({ |
2839 | + 'id': 7, |
2840 | + 'particles': base_objects.ParticleList(\ |
2841 | + [antid, \ |
2842 | + n1, \ |
2843 | + dl]), |
2844 | + 'color': [], |
2845 | + 'lorentz':['L1'], |
2846 | + 'couplings':{(0, 0):'GQQ'}, |
2847 | + 'orders':{'QED':1}})) |
2848 | + |
2849 | + |
2850 | + mymodel = base_objects.Model() |
2851 | + mymodel.set('particles', mypartlist) |
2852 | + mymodel.set('interactions', myinterlist) |
2853 | + mymodel.set('name', 'sm') |
2854 | + |
2855 | + # Multiparticle labels |
2856 | + ds = [1,-1] |
2857 | + dls = [1000001,-1000001] |
2858 | + |
2859 | + proc = [21,21,1000021,1000021] |
2860 | + |
2861 | + my_leglist = base_objects.MultiLegList([\ |
2862 | + base_objects.MultiLeg({'ids': [id]}) for id in proc]) |
2863 | + my_leglist[0].set('state', False) |
2864 | + my_leglist[1].set('state', False) |
2865 | + |
2866 | + process = base_objects.ProcessDefinition({'legs':my_leglist, |
2867 | + 'model':mymodel}) |
2868 | + |
2869 | + decayproc1 = [[1000021],ds,dls] |
2870 | + my_leglist = base_objects.MultiLegList([\ |
2871 | + base_objects.MultiLeg({'ids': id}) for id in decayproc1]) |
2872 | + my_leglist[0].set('state', False) |
2873 | + decayprocess1 = base_objects.ProcessDefinition({'legs':my_leglist, |
2874 | + 'model':mymodel}) |
2875 | + |
2876 | + decayproc2 = [dls,ds,[1000022]] |
2877 | + my_leglist = base_objects.MultiLegList([\ |
2878 | + base_objects.MultiLeg({'ids': id}) for id in decayproc2]) |
2879 | + my_leglist[0].set('state', False) |
2880 | + decayprocess2 = base_objects.ProcessDefinition({'legs':my_leglist, |
2881 | + 'model':mymodel}) |
2882 | + |
2883 | + decayprocess1.get('decay_chains').append(decayprocess2) |
2884 | + process.get('decay_chains').append(decayprocess1) |
2885 | + process.get('decay_chains').append(decayprocess1) |
2886 | + |
2887 | + my_amplitude = diagram_generation.DecayChainAmplitude(process) |
2888 | + |
2889 | + dc_subproc_group = group_subprocs.DecayChainSubProcessGroup.\ |
2890 | + group_amplitudes(my_amplitude) |
2891 | + |
2892 | + subproc_groups = \ |
2893 | + dc_subproc_group.generate_helas_decay_chain_subproc_groups() |
2894 | + |
2895 | + self.assertEqual(len(subproc_groups), 1) |
2896 | + |
2897 | + self.assertEqual(len(subproc_groups[0].get('matrix_elements')),3) |
2898 | + |
2899 | + me_strings = ["""Process: g g > go go WEIGHTED=2 |
2900 | + Decay: go > d dl~ WEIGHTED=1 |
2901 | + Decay: dl~ > d~ n1 WEIGHTED=2 |
2902 | + Decay: go > d dl~ WEIGHTED=1 |
2903 | + Decay: dl~ > d~ n1 WEIGHTED=2""", |
2904 | + """Process: g g > go go WEIGHTED=2 |
2905 | + Decay: go > d dl~ WEIGHTED=1 |
2906 | + Decay: dl~ > d~ n1 WEIGHTED=2 |
2907 | + Decay: go > d~ dl WEIGHTED=1 |
2908 | + Decay: dl > d n1 WEIGHTED=2""", |
2909 | + """Process: g g > go go WEIGHTED=2 |
2910 | + Decay: go > d~ dl WEIGHTED=1 |
2911 | + Decay: dl > d n1 WEIGHTED=2 |
2912 | + Decay: go > d~ dl WEIGHTED=1 |
2913 | + Decay: dl > d n1 WEIGHTED=2"""] |
2914 | + |
2915 | + |
2916 | + for i,me in enumerate(subproc_groups[0].get('matrix_elements')): |
2917 | + self.assertEqual(me.get('processes')[0].nice_string(), |
2918 | + me_strings[i]) |
2919 | + |
Is this normal?
(at the beginning of this diff)
I suppose not, ...
Template/ SubProcesses/ addmothers. f 1,i)=jpart( 4,i) 2,i)=jpart( 5,i) 4,i).gt. maxcolor) maxcolor=jpart(4,i) 5,i).gt. maxcolor) maxcolor=jpart(5,i)
@@ -126,10 +126,8 @@
17 - icolalt(
18 - icolalt(
19 - if (jpart(
20 - if (jpart(
21 + print *,'NONONO'
22 + stop
Otherwise very nice!