source: PSPA/madxPSPA/tests/test-dynap/bb.macros @ 430

Last change on this file since 430 was 430, checked in by touze, 11 years ago

import madx-5.01.00

File size: 3.7 KB
Line 
1bbho(nn): macro = {
2!--- macro defining head-on beam-beam elements; nn = IP number
3print, text="bbipnnl2: beambeam, sigx=sqrt(rnnipnnl2->betx*epsx),";
4print, text="          sigy=sqrt(rnnipnnl2->bety*epsy),";
5print, text="          xma=rnnipnnl2->x,yma=rnnipnnl2->y,";
6print, text="          charge:=on_honn;";
7print, text="bbipnnl1: beambeam, sigx=sqrt(rnnipnnl1->betx*epsx),";
8print, text="          sigy=sqrt(rnnipnnl1->bety*epsy),";
9print, text="          xma=rnnipnnl1->x,yma=rnnipnnl1->y,";
10print, text="          charge:=on_honn;";
11print, text="bbipnn:   beambeam, sigx=sqrt(rnnipnn->betx*epsx),";
12print, text="          sigy=sqrt(rnnipnn->bety*epsy),";
13print, text="          xma=rnnipnn->x,yma=rnnipnn->y,";
14print, text="          charge:=on_honn;";
15print, text="bbipnnr1: beambeam, sigx=sqrt(rnnipnnr1->betx*epsx),";
16print, text="          sigy=sqrt(rnnipnnr1->bety*epsy),";
17print, text="          xma=rnnipnnr1->x,yma=rnnipnnr1->y,";
18print, text="          charge:=on_honn;";
19print, text="bbipnnr2: beambeam, sigx=sqrt(rnnipnnr2->betx*epsx),";
20print, text="          sigy=sqrt(rnnipnnr2->bety*epsy),";
21print, text="          xma=rnnipnnr2->x,yma=rnnipnnr2->y,";
22print, text="          charge:=on_honn;";
23};
24
25mkho(nn): macro = {
26!--- macro defining head-on markers; nn = IP number
27print, text="mkipnnl2: bbmarker;";
28print, text="mkipnnl1: bbmarker;";
29print, text="mkipnn:   bbmarker;";
30print, text="mkipnnr1: bbmarker;";
31print, text="mkipnnr2: bbmarker;";
32};
33
34inho(xx,nn): macro = {
35!--- macro installing bb or markers for head-on beam-beam (split into 5)
36print, text="install, element= xxipnnl2, at=-long_b, from=ipnn;";
37print, text="install, element= xxipnnl1, at=-long_a, from=ipnn;";
38print, text="install, element= xxipnn,   at=1.e-9,   from=ipnn;";
39print, text="install, element= xxipnnr1, at=+long_a, from=ipnn;";
40print, text="install, element= xxipnnr2, at=+long_b, from=ipnn;";
41};
42
43sbhomk(nn): macro = {
44!--- macro to create savebetas for ho markers
45print, text="savebeta, label=rnnipnnl2, place=mkipnnl2;";
46print, text="savebeta, label=rnnipnnl1, place=mkipnnl1;";
47print, text="savebeta, label=rnnipnn,   place=mkipnn;";
48print, text="savebeta, label=rnnipnnr1, place=mkipnnr1;";
49print, text="savebeta, label=rnnipnnr2, place=mkipnnr2;";   
50};
51
52mkl(nn,cc): macro = {
53!--- macro to create parasitic bb marker on left side of ip nn; cc = count
54print, text="mkipnnplcc: bbmarker;";
55};
56
57mkr(nn,cc): macro = {
58!--- macro to create parasitic bb marker on right side of ip nn; cc = count
59print, text="mkipnnprcc: bbmarker;";
60};
61
62sbl(nn,cc): macro = {
63!--- macro to create savebetas for left parasitic
64print, text="savebeta, label=rnnipnnplcc, place=mkipnnplcc;";
65};
66
67sbr(nn,cc): macro = {
68!--- macro to create savebetas for right parasitic
69print, text="savebeta, label=rnnipnnprcc, place=mkipnnprcc;";
70};
71
72inl(xx,nn,cc): macro = {
73!--- macro installing bb and markers for left side parasitic beam-beam
74print, text="install, element= xxipnnplcc, at=-cc*b_h_dist, from=ipnn;";
75};
76
77inr(xx,nn,cc): macro = {
78!--- macro installing bb and markers for right side parasitic beam-beam
79print, text="install, element= xxipnnprcc, at=cc*b_h_dist, from=ipnn;";
80};
81
82bbl(nn,cc): macro = {
83!--- macro defining parasitic beam-beam elements; nn = IP number
84print, text="bbipnnplcc: beambeam, sigx=sqrt(rnnipnnplcc->betx*epsx),";
85print, text="          sigy=sqrt(rnnipnnplcc->bety*epsy),";
86print, text="          xma=rnnipnnplcc->x,yma=rnnipnnplcc->y,";
87print, text="          charge:=on_lrnnl;";
88};
89
90bbr(nn,cc): macro = {
91!--- macro defining parasitic beam-beam elements; nn = IP number
92print, text="bbipnnprcc: beambeam, sigx=sqrt(rnnipnnprcc->betx*epsx),";
93print, text="          sigy=sqrt(rnnipnnprcc->bety*epsy),";
94print, text="          xma=rnnipnnprcc->x,yma=rnnipnnprcc->y,";
95print, text="          charge:=on_lrnnr;";
96};
Note: See TracBrowser for help on using the repository browser.