From 1a53b90ecbda825397103896d73a9e90cb3a2541 Mon Sep 17 00:00:00 2001
From: ahmedk <karim.ahmed@xfel.eu>
Date: Tue, 10 Jan 2023 17:15:51 +0100
Subject: [PATCH] consider illuminated conditions for pnCCD

---
 src/cal_tools/calcat_interface.py | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/src/cal_tools/calcat_interface.py b/src/cal_tools/calcat_interface.py
index ffcb71c9a..a7c8cf158 100644
--- a/src/cal_tools/calcat_interface.py
+++ b/src/cal_tools/calcat_interface.py
@@ -303,7 +303,6 @@ class CalCatApi(metaclass=ClientWrapper):
         for ccv in resp_versions["data"]:
             try:
                 mod = da_to_modname[ccv['physical_detector_unit']['karabo_da']]
-                print(mod)
             except KeyError:
                 # Not included in our modules
                 continue
@@ -1139,15 +1138,20 @@ class JUNGFRAU_CalibrationData(CalibrationData):
         return cond
 
 
-class PNCCD_CalibrationData(CalibrationData):
-    calibrations = {
+class PNCCD_CalibrationData(SplitConditionCalibrationData):
+    """Calibration data for the pnCCD detector."""
+
+    dark_calibrations = {
         "OffsetCCD",
         "BadPixelsDarkCCD",
         "NoiseCCD",
+    }
+    illuminated_calibrations = {
         "RelativeGainCCD",
         "CTECCD",
     }
-    parameters = [
+
+    dark_parameters = [
         "Sensor Bias Voltage",
         "Memory cells",
         "Pixels X",
@@ -1157,6 +1161,8 @@ class PNCCD_CalibrationData(CalibrationData):
         "Gain Setting",
     ]
 
+    illuminated_parameters = dark_parameters + ["Source energy"]
+
     def __init__(
         self,
         detector_name,
@@ -1164,6 +1170,7 @@ class PNCCD_CalibrationData(CalibrationData):
         integration_time,
         sensor_temperature,
         gain_setting,
+        source_energy=9.2,
         pixels_x=1024,
         pixels_y=1024,
         modules=None,
@@ -1187,9 +1194,11 @@ class PNCCD_CalibrationData(CalibrationData):
         self.integration_time = integration_time
         self.sensor_temperature = sensor_temperature
         self.gain_setting = gain_setting
-
+        self.source_energy = source_energy
 
 class EPIX100_CalibrationData(SplitConditionCalibrationData):
+    """Calibration data for the ePix100 detector."""
+
     dark_calibrations = {
         "OffsetEPix100",
         "NoiseEPix100",
@@ -1245,6 +1254,8 @@ class EPIX100_CalibrationData(SplitConditionCalibrationData):
 
 
 class GOTTHARD2_CalibrationData(CalibrationData):
+    """Calibration data for the Gotthard II detector."""
+
     calibrations = {
         "LUTGotthard2" "OffsetGotthard2",
         "NoiseGotthard2",
-- 
GitLab