[430] | 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 | |
---|
| 21 | TYPE DRIFT1 |
---|
| 22 | TYPE(MAGNET_CHART), POINTER :: P |
---|
| 23 | real(dp) , POINTER ::L ! Storage space for computed |
---|
| 24 | END TYPE DRIFT1 |
---|
| 25 | |
---|
| 26 | TYPE DRIFT1P |
---|
| 27 | TYPE(MAGNET_CHART), POINTER :: P |
---|
| 28 | TYPE(REAL_8) , POINTER ::L |
---|
| 29 | END TYPE DRIFT1P |
---|
| 30 | |
---|
| 31 | TYPE 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 |
---|
| 39 | END TYPE DKD2 |
---|
| 40 | |
---|
| 41 | TYPE 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 |
---|
| 49 | END TYPE DKD2P |
---|
| 50 | |
---|
| 51 | TYPE 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 |
---|
| 59 | END TYPE KICKT3 |
---|
| 60 | |
---|
| 61 | TYPE 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 |
---|
| 69 | END TYPE KICKT3P |
---|
| 70 | |
---|
| 71 | TYPE 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 | |
---|
| 85 | END TYPE CAV4 |
---|
| 86 | |
---|
| 87 | TYPE 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 |
---|
| 101 | END TYPE CAV4P |
---|
| 102 | |
---|
| 103 | TYPE 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 |
---|
| 110 | END TYPE CAV_TRAV |
---|
| 111 | |
---|
| 112 | |
---|
| 113 | TYPE 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 |
---|
| 121 | END TYPE CAV_TRAVP |
---|
| 122 | |
---|
| 123 | |
---|
| 124 | |
---|
| 125 | TYPE 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 |
---|
| 133 | END TYPE SOL5 |
---|
| 134 | |
---|
| 135 | TYPE 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 |
---|
| 143 | END TYPE SOL5P |
---|
| 144 | |
---|
| 145 | |
---|
| 146 | TYPE 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 |
---|
| 156 | END TYPE KTK |
---|
| 157 | |
---|
| 158 | TYPE 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 |
---|
| 168 | END TYPE KTKP |
---|
| 169 | |
---|
| 170 | TYPE 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 |
---|
| 187 | END TYPE TKTF |
---|
| 188 | |
---|
| 189 | TYPE 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 |
---|
| 206 | END TYPE TKTFP |
---|
| 207 | |
---|
| 208 | TYPE NSMI |
---|
| 209 | TYPE(MAGNET_CHART), POINTER:: P |
---|
| 210 | real(dp), DIMENSION(:), POINTER :: BN !Multipole component |
---|
| 211 | END TYPE NSMI |
---|
| 212 | |
---|
| 213 | TYPE NSMIP |
---|
| 214 | TYPE(MAGNET_CHART), POINTER:: P |
---|
| 215 | TYPE(REAL_8), DIMENSION(:), POINTER :: BN !Multipole component |
---|
| 216 | END TYPE NSMIP |
---|
| 217 | |
---|
| 218 | TYPE SSMI |
---|
| 219 | TYPE(MAGNET_CHART), POINTER:: P |
---|
| 220 | real(dp), DIMENSION(:), POINTER :: AN !Multipole component |
---|
| 221 | END TYPE SSMI |
---|
| 222 | |
---|
| 223 | TYPE SSMIP |
---|
| 224 | TYPE(MAGNET_CHART), POINTER:: P |
---|
| 225 | TYPE(REAL_8), DIMENSION(:), POINTER :: AN !Multipole component |
---|
| 226 | END TYPE SSMIP |
---|
| 227 | |
---|
| 228 | |
---|
| 229 | TYPE 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 |
---|
| 243 | END TYPE TEAPOT |
---|
| 244 | |
---|
| 245 | TYPE 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 |
---|
| 259 | END TYPE TEAPOTP |
---|
| 260 | |
---|
| 261 | TYPE MON |
---|
| 262 | TYPE(MAGNET_CHART), POINTER :: P |
---|
| 263 | real(dp) , POINTER ::L ! monitor and instrument of MAD |
---|
| 264 | real(dp), pointer :: x,y |
---|
| 265 | END TYPE MON |
---|
| 266 | |
---|
| 267 | TYPE MONP |
---|
| 268 | TYPE(MAGNET_CHART), POINTER :: P |
---|
| 269 | TYPE(REAL_8) , POINTER ::L |
---|
| 270 | real(dp), pointer :: x,y |
---|
| 271 | END TYPE MONP |
---|
| 272 | |
---|
| 273 | TYPE RCOL |
---|
| 274 | TYPE(MAGNET_CHART), POINTER :: P |
---|
| 275 | real(dp) , POINTER :: L ! collimator of MAD |
---|
| 276 | ! type(MADX_APERTURE), POINTER :: A |
---|
| 277 | END TYPE RCOL |
---|
| 278 | |
---|
| 279 | TYPE RCOLP |
---|
| 280 | TYPE(MAGNET_CHART), POINTER :: P |
---|
| 281 | TYPE(REAL_8) , POINTER ::L |
---|
| 282 | ! type(MADX_APERTURE), POINTER :: A |
---|
| 283 | END TYPE RCOLP |
---|
| 284 | |
---|
| 285 | TYPE ECOL |
---|
| 286 | TYPE(MAGNET_CHART), POINTER :: P |
---|
| 287 | real(dp) , POINTER ::L ! collimator of MAD |
---|
| 288 | ! type(MADX_APERTURE), POINTER :: A |
---|
| 289 | END TYPE ECOL |
---|
| 290 | |
---|
| 291 | TYPE ECOLP |
---|
| 292 | TYPE(MAGNET_CHART), POINTER :: P |
---|
| 293 | TYPE(REAL_8) , POINTER ::L |
---|
| 294 | ! type(MADX_APERTURE), POINTER :: A |
---|
| 295 | END TYPE ECOLP |
---|
| 296 | |
---|
| 297 | TYPE 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 |
---|
| 302 | END TYPE ESEPTUM |
---|
| 303 | |
---|
| 304 | TYPE 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 |
---|
| 309 | END TYPE ESEPTUMP |
---|
| 310 | |
---|
| 311 | TYPE 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 |
---|
| 320 | END TYPE STREX |
---|
| 321 | |
---|
| 322 | TYPE 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 |
---|
| 331 | END TYPE STREXP |
---|
| 332 | ! fitted magnet stuff |
---|
| 333 | |
---|
| 334 | TYPE 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 |
---|
| 341 | END TYPE ENGE |
---|
| 342 | |
---|
| 343 | TYPE 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 |
---|
| 351 | END TYPE ENGEP |
---|
| 352 | |
---|
| 353 | |
---|
| 354 | |
---|
| 355 | ! GENERAL PANCAKE |
---|
| 356 | |
---|
| 357 | TYPE 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(:) |
---|
| 366 | END TYPE PANCAKE |
---|
| 367 | |
---|
| 368 | TYPE 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(:) |
---|
| 377 | END TYPE PANCAKEP |
---|
| 378 | |
---|
| 379 | |
---|
| 380 | TYPE 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 |
---|
| 386 | END TYPE HELICAL_DIPOLE |
---|
| 387 | |
---|
| 388 | TYPE 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 |
---|
| 394 | END TYPE HELICAL_DIPOLEP |
---|