1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
pub fn get_bragg_angstrom(charge: i32) -> f64 {
match charge {
1 => 0.35,
2 => 0.35,
3 => 1.45,
4 => 1.05,
5 => 0.85,
6 => 0.70,
7 => 0.65,
8 => 0.60,
9 => 0.50,
10 => 0.45,
11 => 1.80,
12 => 1.50,
13 => 1.25,
14 => 1.10,
15 => 1.00,
16 => 1.00,
17 => 1.00,
18 => 1.00,
19 => 2.20,
20 => 1.80,
21 => 1.60,
22 => 1.40,
23 => 1.35,
24 => 1.40,
25 => 1.40,
26 => 1.40,
27 => 1.35,
28 => 1.35,
29 => 1.35,
30 => 1.35,
31 => 1.30,
32 => 1.25,
33 => 1.15,
34 => 1.15,
35 => 1.15,
36 => 1.10,
37 => 2.35,
38 => 2.00,
39 => 1.80,
40 => 1.55,
41 => 1.45,
42 => 1.45,
43 => 1.35,
44 => 1.30,
45 => 1.35,
46 => 1.40,
47 => 1.60,
48 => 1.55,
49 => 1.55,
50 => 1.45,
51 => 1.45,
52 => 1.40,
53 => 1.40,
54 => 1.40,
55 => 2.60,
56 => 2.15,
57 => 1.95,
58 => 1.85,
59 => 1.85,
60 => 1.85,
61 => 1.85,
62 => 1.85,
63 => 1.85,
64 => 1.80,
65 => 1.75,
66 => 1.75,
67 => 1.75,
68 => 1.75,
69 => 1.75,
70 => 1.75,
71 => 1.75,
72 => 1.55,
73 => 1.45,
74 => 1.35,
75 => 1.30,
76 => 1.30,
77 => 1.35,
78 => 1.35,
79 => 1.35,
80 => 1.50,
81 => 1.90,
82 => 1.75,
83 => 1.60,
84 => 1.90,
85 => 1.50,
86 => 1.50,
_ => panic!("Bragg radius not found for input charge"),
}
}