fix: round kev energy #21

Merged
perl_d merged 1 commits from fix/round_kev_energy into main 2026-08-20 14:48:20 +02:00
+6 -2
View File
@@ -1,11 +1,15 @@
import math
from typing import Annotated
from pydantic import BaseModel, Field
from pydantic import AfterValidator, BaseModel, Field
def round_dp(ndigits: int, /) -> AfterValidator:
return AfterValidator(lambda v: round(v, ndigits))
class DiffractionGeometry(BaseModel):
energy_keV: Annotated[float, Field(gt=1.0, lt=100.0)]
energy_keV: Annotated[float, Field(gt=1.0, lt=100.0), round_dp(3)]
dtz_mm: Annotated[float, Field(gt=10.0, lt=5000.0)]
pixel_size_mm: Annotated[float, Field(ge=0.05, le=0.5)]
beam_center_pxl: tuple[float, float]