pub struct RunConfig {
pub runid: u32,
pub is_active: bool,
pub nevents: u32,
pub nseconds: u32,
pub tof_op_mode: TofOperationMode,
pub trigger_poisson_rate: u32,
pub trigger_fixed_rate: u32,
pub data_type: DataType,
pub rb_buff_size: u16,
}
Expand description
Readoutboard configuration for a specific run
Fields§
§runid: u32
an unique identifier for this run
is_active: bool
start/stop run
This might get deprecated in a future version!
nevents: u32
limit run to number of events
nseconds: u32
limit run time to number of seconds
tof_op_mode: TofOperationMode
tof operation mode - either “StreamAny”, “RequestReply” or “RBHighThroughput”
trigger_poisson_rate: u32
if different from 0, activate RB self trigger in poisson mode
trigger_fixed_rate: u32
if different from 0, activate RB self trigger with fixed rate setting
data_type: DataType
Either “Physics” or a calibration related data type, e.g. “VoltageCalibration”.
This might get deprecated in a future version!
rb_buff_size: u16
The value when the readout of the RB buffers is triggered. This number is in size of full events, which correspond to 18530 bytes. Maximum buffer size is a bit more than 3000 events. Smaller buffer allows for a more snappy reaction, but might require more CPU resources (on the board)
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RunConfig
impl<'de> Deserialize<'de> for RunConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl FromRandom for RunConfig
impl FromRandom for RunConfig
fn from_random() -> Self
Source§impl Packable for RunConfig
impl Packable for RunConfig
const PACKET_TYPE: PacketType = PacketType::RunConfig
Source§fn pack(&self) -> TofPacketwhere
Self: Serialization,
fn pack(&self) -> TofPacketwhere
Self: Serialization,
Wrap myself in a TofPacket
Source§impl Serialization for RunConfig
impl Serialization for RunConfig
const HEAD: u16 = 43_690u16
const TAIL: u16 = 21_845u16
Source§const SIZE: usize = 29usize
const SIZE: usize = 29usize
The SIZE is the size of the serialized
bytestream INCLUDING 4 bytes for head
and tail bytes. In case the struct does
NOT HAVE a fixed size, SIZE will be 0
(so default value of the trait
Source§fn from_bytestream(
bytestream: &Vec<u8>,
pos: &mut usize,
) -> Result<Self, SerializationError>
fn from_bytestream( bytestream: &Vec<u8>, pos: &mut usize, ) -> Result<Self, SerializationError>
Decode a serializable from a bytestream
Source§fn to_bytestream(&self) -> Vec<u8>
fn to_bytestream(&self) -> Vec<u8>
Encode a serializable to a bytestream
Source§fn verify_fixed(
stream: &Vec<u8>,
pos: &mut usize,
) -> Result<(), SerializationError>
fn verify_fixed( stream: &Vec<u8>, pos: &mut usize, ) -> Result<(), SerializationError>
Verify that the serialized representation of the struct has the
correct size, including header + footer. Read more
Source§fn from_tofpacket(packet: &TofPacket) -> Result<Self, SerializationError>where
Self: Sized,
fn from_tofpacket(packet: &TofPacket) -> Result<Self, SerializationError>where
Self: Sized,
Decode a serializable directly from a TofPacket
fn from_slice(
_slice: &[u8],
_start_pos: usize,
) -> Result<Self, SerializationError>where
Self: Sized,
impl Copy for RunConfig
impl StructuralPartialEq for RunConfig
Auto Trait Implementations§
impl Freeze for RunConfig
impl RefUnwindSafe for RunConfig
impl Send for RunConfig
impl Sync for RunConfig
impl Unpin for RunConfig
impl UnwindSafe for RunConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
Convert
self
to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
Convert
&self
to an expression for Diesel’s query builder. Read more