tof_dataclasses::events::master_trigger

Struct MasterTriggerEvent

Source
pub struct MasterTriggerEvent {
    pub event_status: EventStatus,
    pub event_id: u32,
    pub timestamp: u32,
    pub tiu_timestamp: u32,
    pub tiu_gps32: u32,
    pub tiu_gps16: u16,
    pub crc: u32,
    pub trigger_source: u16,
    pub dsi_j_mask: u32,
    pub channel_mask: Vec<u16>,
    pub mtb_link_mask: u64,
}
Expand description

An event as observed by the MTB

This is condensed to the most crucial information

FIXME : implementation of absolute time

Fields§

§event_status: EventStatus§event_id: u32§timestamp: u32

Internal timestamp at the time of trigger (1 unit = 10 ns) Free running counter, rolling over every ~42 seconds

§tiu_timestamp: u32

Timestamp at the edge of the TIU GPS (1 unit = 10 ns)

§tiu_gps32: u32

Second received from the TIU (format?)

§tiu_gps16: u16§crc: u32§trigger_source: u16

Trigger source:

§dsi_j_mask: u32§channel_mask: Vec<u16>§mtb_link_mask: u64

Implementations§

Source§

impl MasterTriggerEvent

Source

pub const VERSION: u8 = 3u8

Implementation version, might roughly correspond to fw version

Source

pub fn new() -> Self

Get the RB link IDs according to the mask

Source

pub fn get_trigger_hits(&self) -> Vec<(u8, u8, (u8, u8), LTBThreshold)>

Get the combination of triggered DSI/J/CH on the MTB which formed the trigger. This does not include further hits which fall into the integration window. For those, se rb_link_mask

The returned values follow the TOF convention to start with 1, so that we can use them to look up LTB ids in the db.

§Returns

Vec<(hit)> where hit is (DSI, J, (CH,CH), threshold)

Source

pub fn get_timestamp_gps48(&self) -> u64

👎Deprecated since 0.10.3: The timestamp of the gs is simply only 32 bits

combine the tiu gps 16 and 32bit timestamps into a 48bit timestamp

Source

pub fn get_timestamp_gps(&self) -> u32

Source

pub fn get_timestamp_abs48(&self) -> u64

Get absolute timestamp as sent by the GPS

Source

pub fn get_trigger_sources(&self) -> Vec<TriggerType>

Get the trigger sources from trigger source byte In case of the custom (configurable triggers, this

will only return “ConfigurableTrigger” since the MTB does not know about these triggers as individual types

Source

pub fn get_global_trigger_soures(&self) -> Vec<TriggerType>

Returns the trigger types which have to be defined as “global”

Global triggers will force a readout of all panels and can be operated in conjuction with the set trigger

Source

pub fn is_trace_suppressed(&self) -> bool

Trait Implementations§

Source§

impl Clone for MasterTriggerEvent

Source§

fn clone(&self) -> MasterTriggerEvent

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MasterTriggerEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MasterTriggerEvent

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Display for MasterTriggerEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<&MasterTriggerEvent> for TofEventHeader

Source§

fn from(mte: &MasterTriggerEvent) -> Self

Converts to this type from the input type.
Source§

impl From<&MasterTriggerEvent> for TofPacket

Source§

fn from(mt: &MasterTriggerEvent) -> TofPacket

Converts to this type from the input type.
Source§

impl From<&TofEventSummary> for MasterTriggerEvent

Source§

fn from(tes: &TofEventSummary) -> Self

Converts to this type from the input type.
Source§

impl From<MasterTriggerEvent> for TofEvent

Source§

fn from(mte: MasterTriggerEvent) -> Self

Converts to this type from the input type.
Source§

impl FromRandom for MasterTriggerEvent

Source§

fn from_random() -> Self

Source§

impl Packable for MasterTriggerEvent

Source§

const PACKET_TYPE: PacketType = PacketType::MasterTrigger

Source§

fn pack(&self) -> TofPacket
where Self: Serialization,

Wrap myself in a TofPacket
Source§

impl PartialEq for MasterTriggerEvent

Source§

fn eq(&self, other: &MasterTriggerEvent) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialization for MasterTriggerEvent

Source§

const SIZE: usize = 0usize

Variable size

Source§

const TAIL: u16 = 21_845u16

Source§

const HEAD: u16 = 43_690u16

Source§

fn to_bytestream(&self) -> Vec<u8>

Encode a serializable to a bytestream
Source§

fn from_bytestream( stream: &Vec<u8>, pos: &mut usize, ) -> Result<Self, SerializationError>

Decode a serializable from a bytestream
Source§

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,

Decode a serializable directly from a TofPacket
Source§

fn from_slice( _slice: &[u8], _start_pos: usize, ) -> Result<Self, SerializationError>
where Self: Sized,

Source§

fn to_slice(&self) -> &[u8]
where Self: Sized,

Construct byte slice out of self. Read more
Source§

impl StructuralPartialEq for MasterTriggerEvent

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> IntoSql for T

Source§

fn into_sql<T>(self) -> Self::Expression

Convert self to an expression for Diesel’s query builder. Read more
Source§

fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
where &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,

Convert &self to an expression for Diesel’s query builder. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize = _

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V