Skip to content

Commit f2edbc1

Browse files
authored
Merge pull request #2699 from gudlot/issue-2694-mar-sensors
Added missing sensor materials for Mar detectors
2 parents d5fb650 + 4c39ee2 commit f2edbc1

File tree

6 files changed

+63
-62
lines changed

6 files changed

+63
-62
lines changed

MANIFEST.in

Lines changed: 0 additions & 58 deletions
This file was deleted.

src/pyFAI/detectors/_rayonix.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,15 @@ def __init__(self, pixel1=79.346e-6, pixel2=79.346e-6, max_shape=None, orientati
498498
# (some detectors are the same)
499499
################################################################################
500500

501+
# Define sensors used in MAR detectors
502+
503+
# MAR345 detector: BaFBr0.85I0.15:Eu2+ coating, 124 μm thickness
504+
BaFBr085I015124 = SensorConfig.from_dict({"material": "BaFBr0.85I0.15", "thickness": 124e-6})
505+
506+
# MAR555 detector: Amorphous Selenium, 300 μm thickness
507+
Se300 = SensorConfig.from_dict({"material": "Se", "thickness": 300e-6})
508+
509+
501510

502511
class Mar345(Detector):
503512

@@ -522,8 +531,7 @@ class Mar345(Detector):
522531
1800: 100e-6}
523532

524533
aliases = ["MAR 345", "Mar3450"]
525-
#TODO: Add sensor materials
526-
#SENSORS=()
534+
SENSORS=(BaFBr085I015124)
527535

528536
def __init__(self, pixel1=100e-6, pixel2=100e-6, max_shape=None, orientation=0, sensor:SensorConfig|None=None):
529537
super().__init__(pixel1, pixel2, max_shape=max_shape, orientation=orientation, sensor=sensor)
@@ -587,8 +595,7 @@ class Mar555(Detector):
587595
force_pixel = True
588596
MAX_SHAPE = (3072, 2560)
589597
aliases = ["MAR 555"]
590-
#TODO: Add sensor information for Mar555
591-
#SENSORS=()
598+
SENSORS=(Se300)
592599

593600
def __init__(self, pixel1=139e-6, pixel2=139e-6, max_shape=None, orientation=0, sensor:SensorConfig|None=None):
594601
super().__init__(pixel1, pixel2, max_shape=max_shape, orientation=orientation, sensor = sensor)

src/pyFAI/detectors/sensors.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ def absorbance(self, energy:float, length: float, unit:str="m") -> float:
157157
ALL_MATERIALS["GaAs"] = GaAs_MATERIAL = SensorMaterial("GaAs", density=5.3176)
158158
ALL_MATERIALS["Gd2O2S"] = Gd2O2S_MATERIAL = SensorMaterial("Gd2O2S", density=7.32)
159159
ALL_MATERIALS["BaFBr0.85I0.15"] = BaFBr085I015_MATERIAL = SensorMaterial("BaFBr0.85I0.15", density=3.18)
160+
ALL_MATERIALS["Se"] = Se_MATERIAL = SensorMaterial("Se", density=4.26)
160161

161162

162163
@dataclass

src/pyFAI/resources/sensors/Se.abs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Energy (MeV) mu/rho (cm²/g) mu_en/rho (cm²/g)
2+
1.00000E-03 2.317E+03 2.312E+03
3+
1.19825E-03 1.512E+03 1.506E+03
4+
1.43580E-03 9.814E+02 9.760E+02
5+
L3 1.43580E-03 4.347E+03 4.287E+03
6+
1.45586E-03 4.057E+03 4.002E+03
7+
1.47620E-03 3.907E+03 3.855E+03
8+
L2 1.47620E-03 5.186E+03 5.112E+03
9+
1.50000E-03 5.336E+03 5.260E+03
10+
1.65390E-03 4.342E+03 4.284E+03
11+
L1 1.65390E-03 4.915E+03 4.849E+03
12+
2.00000E-03 3.098E+03 3.062E+03
13+
3.00000E-03 1.116E+03 1.104E+03
14+
4.00000E-03 5.252E+02 5.187E+02
15+
5.00000E-03 2.896E+02 2.851E+02
16+
6.00000E-03 1.773E+02 1.737E+02
17+
8.00000E-03 8.116E+01 7.865E+01
18+
1.00000E-02 4.414E+01 4.221E+01
19+
1.26578E-02 2.318E+01 2.173E+01
20+
K 1.26578E-02 1.589E+02 8.599E+01
21+
1.50000E-02 1.033E+02 6.270E+01
22+
2.00000E-02 4.818E+01 3.352E+01
23+
3.00000E-02 1.596E+01 1.240E+01
24+
4.00000E-02 7.184E+00 5.796E+00
25+
5.00000E-02 3.864E+00 3.143E+00
26+
6.00000E-02 2.341E+00 1.886E+00
27+
8.00000E-02 1.090E+00 8.332E-01
28+
1.00000E-01 6.278E-01 4.426E-01
29+
1.50000E-01 2.703E-01 1.483E-01
30+
2.00000E-01 1.742E-01 7.695E-02
31+
3.00000E-01 1.144E-01 4.113E-02
32+
4.00000E-01 9.299E-02 3.261E-02
33+
5.00000E-01 8.129E-02 2.941E-02
34+
6.00000E-01 7.350E-02 2.775E-02
35+
8.00000E-01 6.314E-02 2.581E-02
36+
1.00000E+00 5.619E-02 2.446E-02
37+
1.25000E+00 4.999E-02 2.306E-02
38+
1.50000E+00 4.564E-02 2.195E-02
39+
2.00000E+00 4.010E-02 2.052E-02
40+
3.00000E+00 3.476E-02 1.947E-02
41+
4.00000E+00 3.247E-02 1.944E-02
42+
5.00000E+00 3.145E-02 1.978E-02
43+
6.00000E+00 3.105E-02 2.025E-02
44+
8.00000E+00 3.119E-02 2.130E-02
45+
1.00000E+01 3.186E-02 2.226E-02
46+
1.50000E+01 3.395E-02 2.394E-02
47+
2.00000E+01 3.599E-02 2.487E-02

src/pyFAI/resources/sensors/meson.build

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ py.install_sources(
66
'Ge.abs',
77
'Gd2O2S.abs',
88
'BaFBr0.85I0.15.abs',
9+
'Se.abs',
910
],
1011
pure: false, # Will be installed next to binaries
1112
subdir: 'pyFAI/resources/sensors' # Folder relative to site-packages to install to

src/pyFAI/resources/sensors/source.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@ For Fuji-I.P. phosphor BaFBr0.85I0.15:
55
* data from https://physics.nist.gov/PhysRefData/Xcom/html/xcom1.html
66
* calculated by Paul Antoine DOUISSARD, ESRF
77
* density from https://theses.hal.science/tel-04521313v1/file/SONG_PANYI_2023.pdf, p94
8+
9+
For armorphous Se
10+
* density from https://pubchem.ncbi.nlm.nih.gov/compound/Selenium#section=Solubility

0 commit comments

Comments
 (0)