source: PSPA/madxPSPA/libs/ptc/src/a_def_all_kind.inc @ 430

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

import madx-5.01.00

File size: 13.9 KB
Line 
1!The Polymorphic Tracking Code
2!Copyright (C) Etienne Forest and CERN
3
4  TYPE temps_energie
5     real(dp),pointer :: temps
6     real(dp),pointer :: energie
7     real(dp),pointer :: volt(:),phase(:),tc
8  END TYPE temps_energie
9 
10  TYPE acceleration
11     integer,pointer :: n,POS,nst
12     real(dp), pointer :: r,de(:),e_in(:)  !, unit_time
13     type(work),pointer :: w1,w2     
14     TYPE(FIBRE), pointer :: PREVIOUS   
15     TYPE(FIBRE), pointer :: NEXT   
16     type(temps_energie),pointer :: tableau(:)
17     character(255), pointer :: fichier
18  END TYPE acceleration
19
20
21TYPE DRIFT1
22   TYPE(MAGNET_CHART), POINTER :: P
23   real(dp) , POINTER ::L                    !  Storage space for computed
24END  TYPE DRIFT1
25
26TYPE DRIFT1P
27   TYPE(MAGNET_CHART), POINTER :: P
28   TYPE(REAL_8) , POINTER ::L
29END  TYPE DRIFT1P
30
31TYPE DKD2
32   TYPE(MAGNET_CHART), POINTER:: P
33   real(dp), POINTER ::L
34   real(dp),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
35   real(dp),   POINTER:: FINT,HGAP         !FRINGE FUDGE FOR MAD
36   real(dp),   POINTER:: H1,H2             !FRINGE FUDGE FOR MAD
37   real(dp),   POINTER:: VA,VS         !valishev-like multipole
38   integer, pointer :: f
39END  TYPE DKD2
40
41TYPE DKD2P
42   TYPE(MAGNET_CHART), POINTER:: P
43   TYPE(REAL_8), POINTER ::L
44   TYPE(REAL_8),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
45   TYPE(REAL_8),   POINTER:: FINT,HGAP         !FRINGE FUDGE FOR MAD
46   TYPE(REAL_8),   POINTER:: H1,H2             !FRINGE FUDGE FOR MAD
47   TYPE(REAL_8),   POINTER:: VA,VS         !valishev-like multipole
48   integer, pointer :: f
49END  TYPE DKD2P
50
51TYPE KICKT3
52   TYPE(MAGNET_CHART), POINTER:: P
53   real(dp),  DIMENSION(:), POINTER :: AN,BN                 !Multipole component
54   real(dp),   POINTER:: thin_h_foc,thin_v_foc,thin_h_angle,thin_v_angle  ! highly illegal additions by frs
55   real(dp),   POINTER:: hf,vf  ! highly illegal additions by frs for fringe
56   logical(lp),   POINTER:: patch ! highly illegal additions by frs
57   real(dp), POINTER ::B_SOL
58   real(dp),   POINTER::  ls
59END  TYPE KICKT3
60
61TYPE KICKT3P
62   TYPE(MAGNET_CHART), POINTER:: P
63   TYPE(REAL_8),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
64   TYPE(REAL_8),   POINTER:: thin_h_foc,thin_v_foc,thin_h_angle,thin_v_angle  ! highly illegal additions by frs
65   TYPE(REAL_8),   POINTER:: hf,vf  ! highly illegal additions by frs for fringe
66   logical(lp),   POINTER:: patch ! highly illegal additions by frs
67   TYPE(REAL_8), POINTER ::B_SOL
68   real(dp),   POINTER::  ls
69END  TYPE KICKT3P
70
71TYPE CAV4
72   logical(lp), POINTER :: THIN
73   TYPE(MAGNET_CHART), POINTER:: P
74   real(dp) , POINTER ::L                    !  Storage space for computed
75   real(dp),  DIMENSION(:), POINTER :: AN,BN                 !Multipole component
76   real(dp), POINTER :: VOLT, FREQ,PHAS,DELTA_E,phase0,t
77   real(dp), POINTER :: F(:)
78   real(dp), POINTER :: A,R
79   real(dp), POINTER :: PH(:)
80   INTEGER , POINTER :: NF
81   integer, POINTER :: N_BESSEL,CAVITY_TOTALPATH     ! Cavity information
82   logical, pointer :: always_on
83   type(acceleration), pointer :: ACC
84   
85END  TYPE CAV4
86
87TYPE CAV4P
88   logical(lp), POINTER :: THIN
89   TYPE(MAGNET_CHART), POINTER:: P
90   TYPE(REAL_8) , POINTER ::L
91   TYPE(REAL_8),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
92   TYPE(REAL_8), POINTER :: VOLT, FREQ,PHAS      ! Cavity Information
93   real(dp), POINTER :: DELTA_E,phase0,t                        ! Cavity information
94   TYPE(REAL_8), POINTER :: F(:)
95   TYPE(REAL_8), POINTER :: PH(:)
96   TYPE(REAL_8), POINTER :: A,R
97   INTEGER , POINTER :: NF
98   integer, POINTER :: N_BESSEL,CAVITY_TOTALPATH  ! Cavity information
99   logical, pointer :: always_on
100   type(acceleration), pointer :: ACC
101END  TYPE CAV4P
102
103TYPE CAV_TRAV
104   logical(lp), POINTER :: THIN
105   TYPE(MAGNET_CHART), POINTER:: P
106   real(dp) , POINTER ::L                    !  Storage space for computed
107   real(dp), POINTER :: VOLT, FREQ,PHAS,DELTA_E,phase0
108   real(dp), POINTER :: PSI,DPHAS,DVDS
109   integer, POINTER :: CAVITY_TOTALPATH     ! Cavity information
110END  TYPE CAV_TRAV
111
112
113TYPE CAV_TRAVP
114   logical(lp), POINTER :: THIN
115   TYPE(MAGNET_CHART), POINTER:: P
116   TYPE(REAL_8) , POINTER ::L                    !  Storage space for computed
117   TYPE(REAL_8), POINTER :: VOLT, FREQ,PHAS
118   TYPE(REAL_8), POINTER :: PSI,DPHAS,DVDS
119   real(dp), POINTER :: DELTA_E ,phase0                       ! Cavity information
120   integer, POINTER :: CAVITY_TOTALPATH     ! Cavity information
121END  TYPE CAV_TRAVP
122
123
124
125TYPE SOL5
126   TYPE(MAGNET_CHART), POINTER:: P
127   real(dp), POINTER ::L
128   real(dp), POINTER ::B_SOL
129   real(dp),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
130   real(dp),   POINTER:: FINT,HGAP         !FRINGE FUDGE FOR MAD
131   real(dp),   POINTER:: H1,H2             !FRINGE FUDGE FOR MAD
132   real(dp),   POINTER:: VA,VS         !valishev-like multipole
133END  TYPE SOL5
134
135TYPE SOL5P
136   TYPE(MAGNET_CHART), POINTER:: P
137   TYPE(REAL_8),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
138   TYPE(REAL_8), POINTER ::L
139   TYPE(REAL_8), POINTER ::B_SOL
140   TYPE(REAL_8),   POINTER:: FINT,HGAP         !FRINGE FUDGE FOR MAD
141   TYPE(REAL_8),   POINTER:: H1,H2             !FRINGE FUDGE FOR MAD
142   TYPE(REAL_8),   POINTER:: VA,VS         !valishev-like multipole
143END  TYPE SOL5P
144
145
146TYPE KTK
147   TYPE(MAGNET_CHART), POINTER:: P
148   real(dp), POINTER ::L
149   real(dp),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
150   real(dp),  DIMENSION(:,:), POINTER :: MATX,MATY !LINEAR MATRIX
151   !frs     real(dp),  DIMENSION(:), POINTER :: lx(:),ly(:)
152   real(dp),  DIMENSION(:), POINTER :: lx,ly
153   real(dp),   POINTER:: FINT,HGAP         !FRINGE FUDGE FOR MAD
154   real(dp),   POINTER:: H1,H2             !FRINGE FUDGE FOR MAD
155   real(dp),   POINTER:: VA,VS         !valishev-like multipole
156END  TYPE KTK
157
158TYPE KTKP
159   TYPE(MAGNET_CHART), POINTER:: P
160   TYPE(REAL_8), POINTER ::L
161   TYPE(REAL_8),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
162   TYPE(REAL_8),  DIMENSION(:,:), POINTER :: MATX,MATY !LINEAR MATRIX
163   !frs     TYPE(REAL_8), DIMENSION(:), POINTER :: lx(:),ly(:)
164   TYPE(REAL_8), DIMENSION(:), POINTER :: lx,ly
165   TYPE(REAL_8),   POINTER:: FINT,HGAP         !FRINGE FUDGE FOR MAD
166   TYPE(REAL_8),   POINTER:: H1,H2             !FRINGE FUDGE FOR MAD
167   TYPE(REAL_8),   POINTER:: VA,VS         !valishev-like multipole
168END  TYPE KTKP
169
170TYPE TKTF
171   TYPE(MAGNET_CHART), POINTER:: P
172   real(dp), POINTER ::L
173   real(dp),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
174   real(dp),  DIMENSION(:,:), POINTER :: MATX,MATY !LINEAR MATRIX
175   real(dp),  DIMENSION(:,:), POINTER :: MATX2,MATY2 !LINEAR MATRIX
176   !frs     real(dp), DIMENSION(:), POINTER :: lx(:)
177   real(dp), DIMENSION(:), POINTER :: lx
178   real(dp), DIMENSION(:,:), POINTER :: RMATX,RMATY !LINEAR MATRIX
179   !frs     real(dp), DIMENSION(:), POINTER ::   Rlx(:)
180   real(dp), DIMENSION(:), POINTER ::   Rlx
181   !     real(dp), DIMENSION(:), POINTER ::   dx(:)
182   !     real(dp), DIMENSION(:), POINTER ::   dy(:)
183   real(dp),   POINTER:: FINT,HGAP         !FRINGE FUDGE FOR MAD
184   real(dp),   POINTER:: H1,H2             !FRINGE FUDGE FOR MAD
185   real(dp),   POINTER:: VA,VS         !valishev-like multipole
186   integer, pointer :: f
187END  TYPE TKTF
188
189TYPE TKTFP
190   TYPE(MAGNET_CHART), POINTER:: P
191   TYPE(REAL_8), POINTER ::L
192   TYPE(REAL_8),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
193   TYPE(REAL_8),  DIMENSION(:,:), POINTER :: MATX,MATY !LINEAR MATRIX
194   TYPE(REAL_8),  DIMENSION(:,:), POINTER :: MATX2,MATY2 !LINEAR MATRIX
195   !frs     TYPE(REAL_8), DIMENSION(:), POINTER :: lx(:)
196   TYPE(REAL_8), DIMENSION(:), POINTER :: lx
197   TYPE(REAL_8), DIMENSION(:,:), POINTER :: RMATX,RMATY !LINEAR MATRIX
198   !frs     TYPE(REAL_8), DIMENSION(:),   POINTER :: Rlx(:)
199   TYPE(REAL_8), DIMENSION(:),   POINTER :: Rlx
200   !     real(dp), DIMENSION(:), POINTER ::   dx(:)
201   !     real(dp), DIMENSION(:), POINTER ::   dy(:)
202   TYPE(REAL_8),   POINTER:: FINT,HGAP         !FRINGE FUDGE FOR MAD
203   TYPE(REAL_8),   POINTER:: H1,H2             !FRINGE FUDGE FOR MAD
204   TYPE(REAL_8),   POINTER:: VA,VS         !valishev-like multipole
205   integer, pointer :: f
206END  TYPE TKTFP
207
208TYPE NSMI
209   TYPE(MAGNET_CHART), POINTER:: P
210   real(dp),  DIMENSION(:), POINTER :: BN                 !Multipole component
211END  TYPE NSMI
212
213TYPE NSMIP
214   TYPE(MAGNET_CHART), POINTER:: P
215   TYPE(REAL_8),  DIMENSION(:), POINTER :: BN         !Multipole component
216END  TYPE NSMIP
217
218TYPE SSMI
219   TYPE(MAGNET_CHART), POINTER:: P
220   real(dp),  DIMENSION(:), POINTER :: AN          !Multipole component
221END  TYPE SSMI
222
223TYPE SSMIP
224   TYPE(MAGNET_CHART), POINTER:: P
225   TYPE(REAL_8),  DIMENSION(:), POINTER :: AN         !Multipole component
226END  TYPE SSMIP
227
228
229TYPE TEAPOT
230   TYPE(MAGNET_CHART), POINTER:: P
231   real(dp),  POINTER ::L
232   real(dp),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
233   real(dp),  DIMENSION(:), POINTER :: bf_x,bf_y     ! B field polynomial
234   !     INTEGER,POINTER :: SECTOR_NMUL
235   logical(lp),   POINTER :: DRIFTKICK                   ! Split flag
236   real(dp),   POINTER:: FINT,HGAP         !FRINGE FUDGE FOR MAD
237   real(dp),   POINTER:: H1,H2             !FRINGE FUDGE FOR MAD
238   integer, pointer :: f
239   !!  electric info
240   real(dp),  DIMENSION(:), POINTER :: AE,BE  ! an,bn for electric stuff
241   real(dp),  DIMENSION(:,:,:), POINTER :: As,Bs
242   real(dp),  POINTER :: e_x,e_y,PHI
243END TYPE TEAPOT
244
245TYPE TEAPOTP
246   TYPE(MAGNET_CHART), POINTER:: P
247   TYPE(REAL_8),  POINTER ::L
248   TYPE(REAL_8),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
249   TYPE(REAL_8),  DIMENSION(:), POINTER :: bf_x,bf_y     ! B field polynomial
250   !     INTEGER,POINTER :: SECTOR_NMUL
251   logical(lp),   POINTER :: DRIFTKICK
252   TYPE(REAL_8),   POINTER:: FINT,HGAP         !FRINGE FUDGE FOR MAD
253   TYPE(REAL_8),   POINTER:: H1,H2             !FRINGE FUDGE FOR MAD
254   integer, pointer :: f
255   !!  electric info
256   TYPE(REAL_8),  DIMENSION(:), POINTER :: AE,BE ! an,bn for electric stuff
257   real(dp),  DIMENSION(:,:,:), POINTER :: As,Bs
258   TYPE(REAL_8),  POINTER :: e_x,e_y,PHI
259END TYPE TEAPOTP
260
261TYPE MON
262   TYPE(MAGNET_CHART), POINTER :: P
263   real(dp) , POINTER ::L   !  monitor and instrument of MAD
264   real(dp), pointer :: x,y
265END  TYPE MON
266
267TYPE MONP
268   TYPE(MAGNET_CHART), POINTER :: P
269   TYPE(REAL_8) , POINTER ::L
270   real(dp), pointer :: x,y
271END  TYPE MONP
272
273TYPE RCOL
274   TYPE(MAGNET_CHART), POINTER :: P
275   real(dp) , POINTER :: L   !  collimator of MAD
276  ! type(MADX_APERTURE), POINTER :: A
277END  TYPE RCOL
278
279TYPE RCOLP
280   TYPE(MAGNET_CHART), POINTER :: P
281   TYPE(REAL_8) , POINTER ::L
282 !  type(MADX_APERTURE), POINTER :: A
283END  TYPE RCOLP
284
285TYPE ECOL
286   TYPE(MAGNET_CHART), POINTER :: P
287   real(dp) , POINTER ::L   !  collimator of MAD
288 !  type(MADX_APERTURE), POINTER :: A
289END  TYPE ECOL
290
291TYPE ECOLP
292   TYPE(MAGNET_CHART), POINTER :: P
293   TYPE(REAL_8) , POINTER ::L
294  ! type(MADX_APERTURE), POINTER :: A
295END  TYPE ECOLP
296
297TYPE ESEPTUM               !
298   TYPE(MAGNET_CHART), POINTER :: P
299   real(dp) , POINTER ::L
300   real(dp) , POINTER ::VOLT   !  VOLTAGE IN MV/M
301   real(dp) , POINTER ::PHAS    !  TILT TO MIMIC E_X AND E_Y OF MAD-X
302END  TYPE ESEPTUM
303
304TYPE ESEPTUMP               !
305   TYPE(MAGNET_CHART), POINTER :: P
306   TYPE(REAL_8) , POINTER ::L   !  monitor and instrument of MAD
307   TYPE(REAL_8) , POINTER ::VOLT   !  VOLTAGE IN MV/M
308   TYPE(REAL_8) , POINTER ::PHAS    !  TILT TO MIMIC E_X AND E_Y OF MAD-X
309END  TYPE ESEPTUMP
310
311TYPE STREX
312   TYPE(MAGNET_CHART), POINTER:: P
313   real(dp), POINTER ::L
314   real(dp),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
315   logical(lp), POINTER :: DRIFTKICK,LIKEMAD
316   real(dp),   POINTER:: FINT,HGAP         !FRINGE FUDGE FOR MAD
317   real(dp),   POINTER:: H1,H2             !FRINGE FUDGE FOR MAD
318   real(dp),   POINTER:: VA,VS         !valishev-like multipole
319   integer, pointer :: f
320END  TYPE STREX
321
322TYPE STREXP
323   TYPE(MAGNET_CHART), POINTER:: P
324   TYPE(REAL_8), POINTER ::L
325   TYPE(REAL_8),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
326   logical(lp),  POINTER :: DRIFTKICK,LIKEMAD
327   TYPE(REAL_8),   POINTER:: FINT,HGAP         !FRINGE FUDGE FOR MAD
328   TYPE(REAL_8),   POINTER:: H1,H2             !FRINGE FUDGE FOR MAD
329   TYPE(REAL_8),   POINTER:: VA,VS         !valishev-like multipole
330   integer, pointer :: f
331END  TYPE STREXP
332! fitted magnet stuff
333
334TYPE ENGE
335   TYPE(MAGNET_CHART), POINTER:: P
336   real(dp), POINTER ::L,D
337   real(dp),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
338   real(dp),  DIMENSION(:), POINTER :: A             !ENGE  COEFFICIENTS
339   integer,  pointer :: nbessel                      !
340   type(my_1D_taylor), POINTER :: F
341END  TYPE ENGE
342
343TYPE ENGEP
344   TYPE(MAGNET_CHART), POINTER:: P
345   TYPE(REAL_8), POINTER ::L
346   TYPE(REAL_8),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
347   real(dp), POINTER ::D
348   real(dp),  DIMENSION(:), POINTER :: A             !ENGE  COEFFICIENTS
349   integer,  pointer :: nbessel                      !
350   type(my_1D_taylor), POINTER :: F
351END  TYPE ENGEP
352
353
354
355! GENERAL PANCAKE
356
357TYPE PANCAKE
358   TYPE(MAGNET_CHART), POINTER:: P
359   real(dp),  POINTER ::L
360   type(tree_element),  POINTER :: B(:)
361   !   type(tree_element),  POINTER :: Ax(:)
362   !   type(tree_element),  POINTER :: Ay(:)
363   REAL(DP), POINTER :: SCALE
364   !   REAL(DP), POINTER :: D_IN(:),ANG_IN(:)
365   !   REAL(DP), POINTER :: D_OUT(:),ANG_OUT(:)
366END  TYPE PANCAKE
367
368TYPE PANCAKEP
369   TYPE(MAGNET_CHART), POINTER:: P
370   TYPE(REAL_8),  POINTER ::L
371   type(tree_element),  POINTER :: B(:)
372   !   type(tree_element),  POINTER :: Ax(:)
373   !   type(tree_element),  POINTER :: Ay(:)
374   TYPE(REAL_8), POINTER :: SCALE
375   !   REAL(DP), POINTER :: D_IN(:),ANG_IN(:)
376   !   REAL(DP), POINTER :: D_OUT(:),ANG_OUT(:)
377END  TYPE PANCAKEP
378
379
380TYPE HELICAL_DIPOLE
381   TYPE(MAGNET_CHART), POINTER:: P
382   real(dp), POINTER ::L
383   real(dp),  DIMENSION(:), POINTER :: AN,BN         !Multipole component
384   real(dp), POINTER :: FREQ,PHAS
385   integer, POINTER :: N_BESSEL
386END  TYPE HELICAL_DIPOLE
387
388TYPE HELICAL_DIPOLEP
389   TYPE(MAGNET_CHART), POINTER:: P
390   TYPE(REAL_8), POINTER ::L
391   TYPE(REAL_8),  DIMENSION(:), POINTER :: AN,BN
392   TYPE(REAL_8),  POINTER :: FREQ,PHAS
393   integer, POINTER :: N_BESSEL
394END  TYPE HELICAL_DIPOLEP
Note: See TracBrowser for help on using the repository browser.