(file) Return to hrs_meek.fox CVS log (file) (dir) Up to [HallC] / simc_semi / hrsr / MEs

  1 gaskelld 1.1 INCLUDE 'COSY' ;
  2              procedure run ;
  3                 variable line 80 ;
  4                 variable TRMAP_FT 1000 8 ;           {transport map from fp to target}
  5                 variable TRMAP_TF 1000 8 ;           {transport map from target to fp}
  6                 variable Q1MID_MAP 1000 8 ;           {temporary map to midpoint in Q1}
  7                 variable Q2MID_MAP 1000 8 ;           {temporary map to midpoint in Q2}
  8                 variable Q3MID_MAP 1000 8 ;           {temporary map to midpoint in Q3}
  9                 variable TEMPMAP 1000 8 ;             {temporary map}
 10                 variable RMAP 1000 4 ;                {reverse transport map 4 dim}
 11                 variable TMPMAP 1000 8 ;
 12                 variable TR1MAP 1000 8 ;
 13                 variable MAPT 2000 5 ;
 14                 variable OBJ 1 ;
 15                 variable TMP1 1;
 16                 variable TMPSPOS 1000;
 17                 variable TDUMP_LEVEL 1;
 18                 variable DIP_MOD 1 ;                 {dipole model number}
 19              
 20                 variable t_ref 1 ;                   {kinetic energy of ref particle}
 21                 variable p_cen 1 ;                   {central momentum setting in GeV}
 22 gaskelld 1.1    variable me 1 ;                       {mass of electron in GeV}
 23                 variable mp 1 ;                       {mass of proton in GeV}
 24                 variable mid 1 ;
 25                 variable exit 1 ;
 26              
 27                 variable RES 1 4 ; 
 28                 variable RORDER 1 ;                   {order of recon matrix}
 29                 variable FORDER 1 ;                   {order of forward matrix}
 30                 variable FRMODE 1 ;                   {fringe field mode}
 31              
 32              {resolutions for reverse map}
 33                 variable R1 1 ;                       {x resolution}
 34                 variable R2 1 ;                       {dx/dz resolution}
 35                 variable R3 1 ;                       {y resolution}
 36                 variable R4 1 ;                       {dy/dz resolution}
 37                 variable R5 1 ;                       {delta resolution}
 38                 variable R6 1 ;                       {detector position resolution}
 39                 variable R7 1 ;                       {detector angle resolution}
 40              
 41              {multipole variables}
 42                 variable Q1 1 ;            { Quadrupole strength Q1 }
 43 gaskelld 1.1    variable H1 1 ;
 44                 variable O1 1 ;
 45                 variable D1 1 ;
 46                 variable DD1 1 ;
 47                 variable Q2 1 ;            { Quadrupole strength Q2 }
 48                 variable H2 1 ;
 49                 variable O2 1 ;
 50                 variable D2 1 ;
 51                 variable DD2 1 ;
 52                 variable Q3 1 ;            { Quadrupole strength Q3 }
 53                 variable H3 1 ;
 54                 variable O3 1 ;
 55                 variable D3 1 ;
 56                 variable DD3 1 ;
 57              
 58              {dipole variables}
 59                 variable D_RADIUS 1 ;    { dipole bend radius }
 60                 variable D_BEND 1 ;      { dipole bend angle }
 61                 variable D_GAP 1 ;       { dipole half gap }
 62                 variable D_ALPHA 1 ;     { entrance shim angle }
 63                 variable D_BETA 1 ;      { exit shim angle }
 64 gaskelld 1.1    variable D_N 1 5 ;       { field index area }
 65                 variable DELTA_D_N 1 ;   { error on the field index }
 66                 variable D_S1 1 5 ;      { entrance polynomial coefficients }
 67                 variable D_S2 1 5 ;      { exit polynomial coefficients }
 68                 variable D_H1 1 ;        { dipole entrance curvature }
 69                 variable D_H2 1 ;        { dipole exit curvature }
 70                 variable D_S01 1 5 ;
 71                 variable D_S2 1 5 ;
 72                 variable D_S02 1 5 ;
 73              
 74              
 75              {procedure declarations}
 76              
 77              {-----------------------------------------------------------------------------}
 78              
 79                 procedure PMT IU ;
 80                 variable I 1 ;
 81                    LOOP I 1 5 ;
 82                     MAPT(I) := TMPMAP(I) ;
 83                    ENDLOOP ;
 84                    DAPRV Mapt 5 5 TWOND IU ;
 85 gaskelld 1.1    ENDprocedure ;
 86              
 87              {-----------------------------------------------------------------------------}
 88              
 89                 PROCEDURE PMR IU ;                   {PRINTS RMAP TO IU}
 90                    VARIABLE I 1 ; VARIABLE M 2000 5 ;
 91                    LOOP I 1 4 ; M(I) := RMAP(I) + 0*DD(1) ; ENDLOOP ;
 92                    DAPRV M 4 4 TWOND IU ; ENDPROCEDURE ;
 93              
 94              {-----------------------------------------------------------------------------}
 95              
 96                 procedure SET_ORDERS ;
 97                   RORDER:=5 ;
 98                   FORDER:=5 ;
 99                   FRMODE:=3 ;
100                 endprocedure ;
101              
102              {-----------------------------------------------------------------------------}
103              
104                 procedure DEF_QUADS IU ;
105              {      Q1 := -1.16452 ; }
106 gaskelld 1.1 {      Q1 := -1.16948 ; }
107                    Q1 := -0.243838 ;
108                    H1 := 0.0 ; 
109                    O1 := 0.0 ; 
110                    D1 := 0.0 ; 
111                    DD1 := 0.0 ;
112              
113              {      Q2 := 0.923703 ; }
114              {      Q2 := 0.92556 ; }
115                    Q2 := 0.1934 ;
116                    H2 := 0.0 ; 
117                    O2 := 0.0 ; 
118                    D2 := 0.0 ; 
119                    DD2 := 0.0 ;
120              
121              {      Q3 := 0.854484 ; }
122              {      Q3 := 0.89647 ; }
123                    Q3 := 0.17892 ;
124                    H3 := 0.0 ; 
125                    O3 := 0.0 ;
126                    D3 := 0.0 ; 
127 gaskelld 1.1       DD3 := 0.00245 ;
128              
129                    IF IU=3 ;
130                       FC 2 1 1 0.1122 8.5000 -1.4982 3.5882 -2.1209 1.723 ;
131                       FC 2 2 1 0.1122 8.5000 -1.4982 3.5882 -2.1209 1.723 ;
132                       FC 3 1 1 0.1122 8.5000 -1.4982 3.5882 -2.1209 1.723 ;
133                       FC 3 2 1 0.1122 8.5000 -1.4982 3.5882 -2.1209 1.723 ;
134                       FC 4 1 1 0.1122 8.5000 -1.4982 3.5882 -2.1209 1.723 ;
135                       FC 4 2 1 0.1122 8.5000 -1.4982 3.5882 -2.1209 1.723 ;
136                       FC 5 1 1 0.1122 8.5000 -1.4982 3.5882 -2.1209 1.723 ;
137                       FC 5 2 1 0.1122 8.5000 -1.4982 3.5882 -2.1209 1.723 ;
138                       FC 6 1 1 0.1122 8.5000 -1.4982 3.5882 -2.1209 1.723 ;
139                       FC 6 2 1 0.1122 8.5000 -1.4982 3.5882 -2.1209 1.723 ; 
140                    ELSEIF 1=1 ;
141                       FC 2 1 1 0.1122 6.2671 -1.4982 3.5882 -2.1209 1.723 ;
142                       FC 2 2 1 0.1122 6.2671 -1.4982 3.5882 -2.1209 1.723 ;
143                       FC 3 1 1 0.1122 6.2671 -1.4982 3.5882 -2.1209 1.723 ;
144                       FC 3 2 1 0.1122 6.2671 -1.4982 3.5882 -2.1209 1.723 ;
145                       FC 4 1 1 0.1122 6.2671 -1.4982 3.5882 -2.1209 1.723 ;
146                       FC 4 2 1 0.1122 6.2671 -1.4982 3.5882 -2.1209 1.723 ;
147                       FC 5 1 1 0.1122 6.2671 -1.4982 3.5882 -2.1209 1.723 ;
148 gaskelld 1.1          FC 5 2 1 0.1122 6.2671 -1.4982 3.5882 -2.1209 1.723 ;
149                       FC 6 1 1 0.1122 6.2671 -1.4982 3.5882 -2.1209 1.723 ;
150                       FC 6 2 1 0.1122 6.2671 -1.4982 3.5882 -2.1209 1.723 ; 
151                    ENDIF ;
152                 ENDprocedure ;
153              
154              {-----------------------------------------------------------------------------}
155              
156                 procedure DEF_DIPOLE ;
157                 variable I 1 ;
158                 IF DIP_MOD<0.5 ;
159                    D_RADIUS := 8.40 ; D_BEND := 45.0 ; D_GAP := 0.125 ;
160                    D_ALPHA := -30.0 ; D_BETA := -30.0 ;
161                    D_N(1) := -1.25 ;
162                    D_N(2) := -D_N(1)*D_N(1) ; 
163                    D_N(3) := D_N(1)*D_N(1)*D_N(1) ;
164                    D_N(4) := -D_N(1)*D_N(1)*D_N(1)*D_N(1) ; 
165                    D_N(5) := D_N(1)*D_N(1)*D_N(1)*D_N(1)*D_N(1) ;
166                    D_S1(1) := TAN(-30.*DEGRAD) ;   {Entrance pole shape}
167                    D_S1(2) :=  0.4014526 ;
168                    D_S1(3) :=  0.21710 ;
169 gaskelld 1.1       D_S1(4) := -0.0825 ;
170                    D_S1(5) := -0.3110 ;
171                    D_S2(1) := TAN(-30.*DEGRAD) ;   {Exit pole shape}
172                    D_S2(2) := -0.4433318 ;
173                    D_S2(3) :=  0.18020 ;
174                    D_S2(4) := -0.2443 ;
175                    D_S2(5) :=  1.1649 ;
176                 ELSEIF 1>0 ;
177                    D_RADIUS:=8.458 ;
178                    D_BEND:=45.0 ;
179                    D_GAP:=0.1244 ;
180                    D_H1:=0.6369 ; D_H2:=-0.3571 ;
181                    D_ALPHA := -30.0 ; D_BETA := -30.0 ;
182                    D_N(1) := -1.26 ; 
183                    D_N(2) := -D_N(1)*D_N(1) ; 
184                    D_N(3) := D_N(1)*D_N(1)*D_N(1) ;
185                    D_N(4) := -D_N(1)*D_N(1)*D_N(1)*D_N(1) ; 
186                    D_N(5) := D_N(1)*D_N(1)*D_N(1)*D_N(1)*D_N(1) ;
187                    D_S1(1) := -0.5513012 ; D_S1(2) := 0.4656544 ; 
188                    D_S1(3) := 0.03799517 ; D_S1(4) := 0.03613541 ; 
189                    D_S1(5) := -0.2209376;
190 gaskelld 1.1       D_S2(1) := -0.6049777 ; D_S2(2) := 0.2850934 ;
191                    D_S2(3) := 0.4569041 ; D_S2(4) := 0.4247217 ;
192                    D_S2(5) := -0.9568408 ;
193                 ENDIF ;
194              
195                 FC 1 1 1 0.04725 2.2395 -0.9768 0.7288 -0.1299 0.0222 ;
196                 FC 1 2 1 0.04725 2.2395 -0.9768 0.7288 -0.1299 0.0222 ;
197              
198                 endprocedure ;
199              
200              {********************************************************************}
201              
202              
203                 OV 5 3 0 ;                          {Order Value <order><phase dim><#par>}
204              {   RP 4000.0 0.0005 -1;}
205                 RPE 837.56 ;
206                 PTY 0 ;
207                 SB .0 .030 .0 .05 .020 .0 .0 .05 .0 .0 .0 ;
208              
209                 SET_ORDERS ;
210                 TDUMP_LEVEL:=3;
211 gaskelld 1.1    DIP_MOD:=0;
212                 OPENF 20 'hrs_forward_map.meek' 'UNKNOWN' ; 
213              
214                 DEF_QUADS 1 ; DEF_DIPOLE ;
215                 UM ;
216              
217              {-------midpoint maps in Q1 and Q2--------------}
218              
219                IF TDUMP_LEVEL=3 ;
220                 DL 1.6000 ;
221                 FR 1 ;
222                 mid:=0.9413*2.0/3.0 ;
223                 MQ mid Q1 0.1500 ;
224                 SM Q1MID_MAP ;
225                 exit:=0.9413*0.3333333;
226                 MQ exit Q1 0.1500 ;
227                 
228                 DL 1.25 ;
229              
230                 mid:=1.8266*0.666667 ;
231                 M5 mid Q2 H2 O2 D2 DD2 0.300 ; {Q2 2/3}
232 gaskelld 1.1    SM Q2MID_MAP ;                              {transport map at 2/3 of Q2}
233                ENDIF ;
234              
235              {-----------------------------------------------}
236               
237                    FR FRMODE ;
238                    UM ; CR ; ER 1 3 2 3 1 3 1 1 ; BP ;
239              
240                    DL 1.5903 ;                         {Drift to Q1}
241              
242                   DEF_QUADS 0 ;
243                   IF TDUMP_LEVEL>1 ;
244                    PT 20 ;
245                   ENDIF ;
246              
247                   IF TDUMP_LEVEL=3 ;                  {PT midpoint of Q1}
248                    SM TMPMAP ;
249                    UM ;
250                    AM Q1MID_MAP ;
251                    PT 20 ;
252                    UM ;
253 gaskelld 1.1       AM TMPMAP ;
254                   ENDIF ;
255                   FR -1 ; MQ 0.9413 Q1 0.1500 ;      {Q1 entrance fringe}
256                   FR  0 ; MQ 0.9413 Q1 0.1500 ;      {Q1 central}
257                   FR -2 ; MQ 0.9413 Q1 0.1500 ;      {Q1 exit fringe}
258              
259                   IF TDUMP_LEVEL>1 ;
260                    PT 20 ;
261                   ENDIF ;
262              
263                    DL 1.172 ;                          {Drift to Q2}
264              
265                   DEF_QUADS 0 ;
266                   IF TDUMP_LEVEL>1 ;
267                    PT 20 ;
268                   ENDIF ;
269              
270                   IF TDUMP_LEVEL=3 ;                     {PT midpoint of Q2}
271                    SM TMPMAP ;
272                    UM ;
273                    AM Q2MID_MAP;
274 gaskelld 1.1       PT 20 ;
275                    UM ;
276                    AM TMPMAP ;
277                   ENDIF ;
278              
279              
280                   DEF_QUADS 0 ;
281                   FR -1 ; M5 1.8266 Q2 H2 O2 D2 DD2 0.300 ; {Q2 entrance fringe}
282                   FR  0 ; M5 1.8266 Q2 H2 O2 D2 DD2 0.300 ;   {Q2 central}
283                   FR -2 ; M5 1.8266 Q2 H2 O2 D2 DD2 0.300 ; {Q2 exit fringe}
284              {      M5 1.8266 Q2 H2 O2 D2 DD2 0.300 ;  }   {Q2}
285              
286                   IF TDUMP_LEVEL>1 ;
287                    PT 20 ;
288                   ENDIF ;
289              
290                    DL 4.4308 ;                          {Drift to B1}
291              
292                   IF TDUMP_LEVEL>1 ;
293                    PT 20 ;
294                   ENDIF ;
295 gaskelld 1.1 
296                   DEF_DIPOLE ;
297                   FR FRMODE ;
298                   MC D_RADIUS D_BEND D_GAP D_N D_S1 D_S2 5 ;          {B1}
299              
300              {      MC D_RADIUS D_BEND D_GAP D_N D_S1 D_S2 5 ;} {B1}
301              
302                   IF TDUMP_LEVEL>1 ;
303                    PT 20 ;
304                   ENDIF ;
305              
306                    DL 1.5925 ;                         {Drift to Q3}
307              
308                   IF TDUMP_LEVEL>1 ;
309                    PT 20 ;
310                   ENDIF ;
311              
312                   DEF_QUADS 0 ;
313                   FR -1 ; M5 1.8268 Q3 H3 O3 D3 DD3 0.300 ; {Q3 entrance fringe}
314                   FR  0 ; M5 1.8268 Q3 H3 O3 D3 DD3 0.300 ;   {Q3 central}
315                   FR -2 ; M5 1.8268 Q3 H3 O3 D3 DD3 0.300 ; {Q3 exit fringe}
316 gaskelld 1.1 
317              {      M5 1.8268 Q3 H3 O3 D3 DD3 0.300 ;} {Q3}
318              
319                   IF TDUMP_LEVEL>1 ;
320                    PT 20 ;
321                   ENDIF ;
322              
323                    DL 3.4523 ;                          {Drift to detector plane}
324              
325                    PS .50 ;                             {Mark focal plane}
326                    DL 5.000 ;                           {extend rays for picture}
327                    PS .50 ;                             {Mark plane}
328                    EP ;
329                    DL -5.000 ;                          {Drift back to focal plane}
330                    EP ;
331              
332                   IF TDUMP_LEVEL>1 ;
333                    PT 20 ;
334                   ENDIF ;
335               
336                 CLOSEF 20 ;
337 gaskelld 1.1 
338                 OPENF 20 'hrs_reconstruction_map.meek' 'UNKNOWN' ; 
339              
340                 TMPSPOS := SPOS ; 
341                 CATR MAP TR1MAP SPOS ; 
342                 UM ; 
343                 SPOS := TMPSPOS ; 
344                 AM TR1MAP ;
345              
346                 RR MAP 0 0.01 0.01 0.01 0.01 0.0 0.0 1000 RORDER RMAP RES ;
347              
348                 pmr 20 ;
349                 closef 20 ;
350              
351                 PG -10 -10 ;
352                 PP -61 0 90 ;
353                 PP -62 0 0 ;
354              endprocedure ;
355              
356              run ;
357              
358 gaskelld 1.1 end ;

Analyzer/Replay: Mark Jones, Documents: Stephen Wood
Powered by
ViewCVS 0.9.2-cvsgraph-1.4.0