tof_dataclasses::database

Struct RAT

Source
pub struct RAT {
    pub rat_id: i16,
    pub pb_id: i16,
    pub rb1_id: i16,
    pub rb2_id: i16,
    pub ltb_id: i16,
    pub ltb_harting_cable_length: i16,
}
Expand description

Representation of a local trigger board.

The individual LTB channels do not map directly to PaddleEnds. Rather two of them map to a paddle and then the whole paddle should get read out. To be more specific about this. The LTB has 16 channels, but we treat them as 8. Each 2 LTB channels get “married” internally in the board and will then continue on as 1 LTB channel, visible to the outside. The information about which end of the Paddle crossed which threshhold is lost. How it works is that the two channels will be combined by the trigger logic:

  • There are 4 states (2 bits)
    • 0 - no hit
    • 1 - Hit
    • 2 - Beta
    • 3 - Veto

Each defining an individual threshold. If that is crossed, the whole paddle (ends A+B) will be read out by the ReadoutBoard

The LTB channels here are labeled 1-8. This is as it is in the TOF spreadsheet. Also dsi is labeled as in the spreadsheet and will start from one.

It is NOT clear from this which ch on the rb is connected to which side, for that the paddle/RB tables need to be consulted. Again: rb_ch0 does NOT necessarily correspond to the A side!

Fields§

§rat_id: i16§pb_id: i16§rb1_id: i16§rb2_id: i16§ltb_id: i16§ltb_harting_cable_length: i16

Implementations§

Source§

impl RAT

Source

pub fn new() -> Self

Source

pub fn where_rb2id(conn: &mut SqliteConnection, rb2id: u8) -> Option<Vec<RAT>>

Get the RAT where rb2id matched the argument

Source

pub fn where_rb1id(conn: &mut SqliteConnection, rb2id: u8) -> Option<Vec<RAT>>

Get the RAT where rb1id (the rb id of rb“1“ in the RAT) matched the argument

Source

pub fn all(conn: &mut SqliteConnection) -> Option<Vec<RAT>>

Trait Implementations§

Source§

impl Debug for RAT

Source§

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

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

impl<'de> Deserialize<'de> for RAT

Source§

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 Display for RAT

Source§

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

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

impl<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5), __DB> for RAT

Source§

type Row = (i16, i16, i16, i16, i16, i16)

The Rust type you’d like to map from. Read more
Source§

fn build(row: Self::Row) -> Result<Self>

Construct an instance of this type
Source§

impl<__DB: Backend> Selectable<__DB> for RAT

Source§

type SelectExpression = (rat_id, pb_id, rb1_id, rb2_id, ltb_id, ltb_harting_cable_length)

The expression you’d like to select. Read more
Source§

fn construct_selection() -> Self::SelectExpression

Construct an instance of the expression
Source§

impl Serialize for RAT

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for RAT

§

impl RefUnwindSafe for RAT

§

impl Send for RAT

§

impl Sync for RAT

§

impl Unpin for RAT

§

impl UnwindSafe for RAT

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> 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, DB> SelectableHelper<DB> for T
where T: Selectable<DB>, DB: Backend,

Source§

fn as_select() -> SelectBy<T, DB>

Construct a select clause based on a Selectable implementation. Read more
Source§

fn as_returning() -> SelectBy<Self, DB>

An alias for as_select that can be used with returning clauses
Source§

impl<T, ST, DB> StaticallySizedRow<ST, DB> for T
where ST: SqlTypeOrSelectable + TupleSize, T: Queryable<ST, DB>, DB: Backend,

Source§

const FIELD_COUNT: usize = <ST as crate::util::TupleSize>::SIZE

The number of fields that this type will consume.
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

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,