1 | !The Polymorphic Tracking Code |
---|
2 | !Copyright (C) Etienne Forest and CERN |
---|
3 | |
---|
4 | TYPE POL_sagan |
---|
5 | INTEGER ia(n_max) |
---|
6 | real(dp) Sa(n_max) |
---|
7 | END TYPE POL_sagan |
---|
8 | |
---|
9 | |
---|
10 | TYPE POL_BLOCK_sagan |
---|
11 | INTEGER Iinternal(2) |
---|
12 | real(dp) SInternal(2) |
---|
13 | type(POL_sagan) w |
---|
14 | END TYPE POL_BLOCK_sagan |
---|
15 | |
---|
16 | TYPE undu_R |
---|
17 | real(dp), DIMENSION(:,:), pointer :: K |
---|
18 | real(dp), DIMENSION(:), pointer :: A |
---|
19 | real(dp), DIMENSION(:), pointer :: F |
---|
20 | real(dp), pointer :: offset |
---|
21 | integer, DIMENSION(:), pointer :: FORM |
---|
22 | END TYPE undu_R |
---|
23 | |
---|
24 | TYPE undu_p |
---|
25 | TYPE(REAL_8), DIMENSION(:,:), pointer :: K |
---|
26 | TYPE(REAL_8), DIMENSION(:), pointer :: A |
---|
27 | TYPE(REAL_8), DIMENSION(:), pointer :: F |
---|
28 | TYPE(REAL_8), pointer :: offset |
---|
29 | integer, DIMENSION(:), pointer :: FORM |
---|
30 | END TYPE undu_p |
---|
31 | |
---|
32 | TYPE SAGAN |
---|
33 | TYPE(MAGNET_CHART), POINTER :: P |
---|
34 | real(dp), POINTER ::L ! MUST ALWAYS BE THERE |
---|
35 | real(dp), DIMENSION(:), POINTER :: AN,BN !Multipole component (OPTIONAL) |
---|
36 | ! ADD INTERNAL STUFF HERE AS POINTERS |
---|
37 | real(dp), DIMENSION(:), POINTER ::INTERNAL ! INTERNAL IS AN EXAMPLE |
---|
38 | TYPE(undu_R), POINTER :: W |
---|
39 | END TYPE SAGAN |
---|
40 | |
---|
41 | TYPE SAGANP |
---|
42 | TYPE(MAGNET_CHART), POINTER :: P |
---|
43 | TYPE(REAL_8), POINTER ::L ! MUST ALWAYS BE THERE |
---|
44 | TYPE(REAL_8), DIMENSION(:), POINTER :: AN,BN !Multipole component (OPTIONAL) |
---|
45 | ! ADD INTERNAL STUFF HERE AS POINTERS |
---|
46 | TYPE(REAL_8), DIMENSION(:),POINTER ::INTERNAL ! INTERNAL IS AN EXAMPLE |
---|
47 | TYPE(undu_p), POINTER :: W |
---|
48 | END TYPE SAGANP |
---|