mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-07 18:40:42 +02:00
python support for vetoalg
This commit is contained in:
parent
91eba6a8b8
commit
ae0d1cc0d4
@ -7,6 +7,7 @@ timingMode = slsDetectorDefs.timingMode
|
|||||||
speedLevel = slsDetectorDefs.speedLevel
|
speedLevel = slsDetectorDefs.speedLevel
|
||||||
dacIndex = slsDetectorDefs.dacIndex
|
dacIndex = slsDetectorDefs.dacIndex
|
||||||
detectorType = slsDetectorDefs.detectorType
|
detectorType = slsDetectorDefs.detectorType
|
||||||
|
ethernetInterface = slsDetectorDefs.ethernetInterface
|
||||||
|
|
||||||
from .utils import element_if_equal, all_equal, get_set_bits, list_to_bitmask
|
from .utils import element_if_equal, all_equal, get_set_bits, list_to_bitmask
|
||||||
from .utils import Geometry, to_geo, element, reduce_time, is_iterable
|
from .utils import Geometry, to_geo, element, reduce_time, is_iterable
|
||||||
@ -2343,6 +2344,25 @@ class Detector(CppDetectorApi):
|
|||||||
args = (args,)
|
args = (args,)
|
||||||
ut.set_using_dict(self.setVetoStream, *args)
|
ut.set_using_dict(self.setVetoStream, *args)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def vetoalg(self):
|
||||||
|
"""[Gotthard2] Algorithm used for veto
|
||||||
|
Example
|
||||||
|
----------
|
||||||
|
>>> d.vetoalg = defs.DEFAULT_ALGORITHM, defs.I10GBE
|
||||||
|
"""
|
||||||
|
result = {}
|
||||||
|
interface = [ethernetInterface.I3GBE, ethernetInterface.I10GBE]
|
||||||
|
for eth in interface:
|
||||||
|
result[eth] = element_if_equal(self.getVetoAlgorithm(eth))
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
@vetoalg.setter
|
||||||
|
def vetoalg(self, args):
|
||||||
|
if not isinstance(args, tuple):
|
||||||
|
args = (args,)
|
||||||
|
ut.set_using_dict(self.setVetoAlgorithm, *args)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Mythen3 specific
|
Mythen3 specific
|
||||||
|
@ -1084,6 +1084,17 @@ void init_det(py::module &m) {
|
|||||||
sls::Positions)) &
|
sls::Positions)) &
|
||||||
Detector::setVetoStream,
|
Detector::setVetoStream,
|
||||||
py::arg(), py::arg() = Positions{})
|
py::arg(), py::arg() = Positions{})
|
||||||
|
.def("getVetoAlgorithm",
|
||||||
|
(Result<defs::vetoAlgorithm>(Detector::*)(
|
||||||
|
const defs::ethernetInterface, sls::Positions) const) &
|
||||||
|
Detector::getVetoAlgorithm,
|
||||||
|
py::arg(), py::arg() = Positions{})
|
||||||
|
.def("setVetoAlgorithm",
|
||||||
|
(void (Detector::*)(const defs::vetoAlgorithm,
|
||||||
|
const defs::ethernetInterface,
|
||||||
|
sls::Positions)) &
|
||||||
|
Detector::setVetoAlgorithm,
|
||||||
|
py::arg(), py::arg(), py::arg() = Positions{})
|
||||||
.def("getADCConfiguration",
|
.def("getADCConfiguration",
|
||||||
(Result<int>(Detector::*)(const int, const int, sls::Positions)
|
(Result<int>(Detector::*)(const int, const int, sls::Positions)
|
||||||
const) &
|
const) &
|
||||||
|
@ -293,4 +293,9 @@ void init_enums(py::module &m) {
|
|||||||
py::overload_cast<const slsDetectorDefs::ethernetInterface &,
|
py::overload_cast<const slsDetectorDefs::ethernetInterface &,
|
||||||
const slsDetectorDefs::ethernetInterface &>(
|
const slsDetectorDefs::ethernetInterface &>(
|
||||||
&operator&));
|
&operator&));
|
||||||
|
|
||||||
|
py::enum_<slsDetectorDefs::vetoAlgorithm>(Defs, "vetoAlgorithm")
|
||||||
|
.value("DEFAULT_ALGORITHM",
|
||||||
|
slsDetectorDefs::vetoAlgorithm::DEFAULT_ALGORITHM)
|
||||||
|
.export_values();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user