R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3B::testing::Neuland::AbstractChannel Class Referenceabstract

#include <R3BDigitizingChannel.h>

Public Types

using Hit = ChannelHit
 
using CalSignal = ChannelCalSignal
 
using Signal = ChannelSignal
 
using Hits = std::vector<Hit>
 
using CalSignals = std::vector<CalSignal>
 

Public Member Functions

 AbstractChannel (R3B::Side side, bool has_cal_output=false)
 
 AbstractChannel (const AbstractChannel &other)=delete
 
 AbstractChannel (AbstractChannel &&other)=default
 
virtual ~AbstractChannel ()=default
 
auto operator= (const AbstractChannel &other) -> AbstractChannel &=delete
 
auto operator= (AbstractChannel &&other) -> AbstractChannel &=delete
 
void Construct ()
 
void Reset ()
 Reset the data in the Channel for the new event.
 
void AddSignal (const Signal &signal)
 
virtual auto HasFired () -> bool
 
void EnableCal (bool is_enabled=true)
 
auto GetSide () const -> R3B::Side
 
auto GetPaddle () const -> AbstractPaddle *
 
auto GetSignalSize () const -> int
 
auto GetCalSignals () const -> const CalSignals &
 
auto GetHits () const -> const Hits &
 
auto GetTrigTime () const -> double
 
void SetPaddle (AbstractPaddle *v_paddle)
 
void AttachToPaddle (AbstractPaddle *paddle)
 

Static Public Member Functions

static auto GetDefaultRandomGen () -> TRandom3 &
 

Private Member Functions

virtual void construct_hits (Hits &signals)=0
 
virtual void construct_cal_signals (CalSignals &cal_signals) const
 
virtual void extra_reset ()
 
virtual void pre_construct ()
 
virtual void add_signal (Signal signal)=0
 
void calculate_trig_time ()
 

Private Attributes

bool has_cal_output_ = false
 Flag of whether cal output is enabled.
 
R3B::Side side_
 side of the channel
 
double trig_time_ = 0.
 trigger time of the channel
 
int signal_size_ {}
 Size of the signal inputs.
 
AbstractPaddlepaddle_ = nullptr
 pointer to the paddle who owns this channel
 
Hits hits_
 output hits from the channel
 
CalSignals cal_signals_
 output cal signals from the channel
 

Detailed Description

Definition at line 77 of file R3BDigitizingChannel.h.

Member Typedef Documentation

◆ CalSignal

Definition at line 81 of file R3BDigitizingChannel.h.

◆ CalSignals

Definition at line 84 of file R3BDigitizingChannel.h.

◆ Hit

Definition at line 80 of file R3BDigitizingChannel.h.

◆ Hits

Definition at line 83 of file R3BDigitizingChannel.h.

◆ Signal

Definition at line 82 of file R3BDigitizingChannel.h.

Constructor & Destructor Documentation

◆ AbstractChannel() [1/3]

R3B::Digitizing::AbstractChannel::AbstractChannel ( R3B::Side side,
bool has_cal_output = false )
explicit

Definition at line 21 of file R3BDigitizingChannel.cxx.

◆ AbstractChannel() [2/3]

R3B::Digitizing::AbstractChannel::AbstractChannel ( const AbstractChannel & other)
delete

◆ AbstractChannel() [3/3]

R3B::Digitizing::AbstractChannel::AbstractChannel ( AbstractChannel && other)
default

◆ ~AbstractChannel()

virtual R3B::Digitizing::AbstractChannel::~AbstractChannel ( )
virtualdefault

Member Function Documentation

◆ add_signal()

virtual void R3B::Digitizing::AbstractChannel::add_signal ( Signal signal)
privatepure virtual

◆ AddSignal()

void R3B::Digitizing::AbstractChannel::AddSignal ( const Signal & signal)
inline

Definition at line 106 of file R3BDigitizingChannel.h.

◆ AttachToPaddle()

void R3B::Digitizing::AbstractChannel::AttachToPaddle ( AbstractPaddle * paddle)
inline

Definition at line 125 of file R3BDigitizingChannel.h.

◆ calculate_trig_time()

void R3B::Digitizing::AbstractChannel::calculate_trig_time ( )
private

Definition at line 57 of file R3BDigitizingChannel.cxx.

◆ Construct()

void R3B::Digitizing::AbstractChannel::Construct ( )

Definition at line 34 of file R3BDigitizingChannel.cxx.

◆ construct_cal_signals()

virtual void R3B::Digitizing::AbstractChannel::construct_cal_signals ( CalSignals & cal_signals) const
inlineprivatevirtual

Definition at line 138 of file R3BDigitizingChannel.h.

◆ construct_hits()

virtual void R3B::Digitizing::AbstractChannel::construct_hits ( Hits & signals)
privatepure virtual

◆ EnableCal()

void R3B::Digitizing::AbstractChannel::EnableCal ( bool is_enabled = true)
inline

Definition at line 113 of file R3BDigitizingChannel.h.

◆ extra_reset()

virtual void R3B::Digitizing::AbstractChannel::extra_reset ( )
inlineprivatevirtual

Definition at line 139 of file R3BDigitizingChannel.h.

◆ GetCalSignals()

auto R3B::Digitizing::AbstractChannel::GetCalSignals ( ) const -> const CalSignals&
inlinenodiscard

Definition at line 120 of file R3BDigitizingChannel.h.

◆ GetDefaultRandomGen()

auto R3B::Digitizing::AbstractChannel::GetDefaultRandomGen ( ) -> TRandom3&
static

Definition at line 28 of file R3BDigitizingChannel.cxx.

◆ GetHits()

auto R3B::Digitizing::AbstractChannel::GetHits ( ) const -> const Hits&
inlinenodiscard

Definition at line 121 of file R3BDigitizingChannel.h.

◆ GetPaddle()

auto R3B::Digitizing::AbstractChannel::GetPaddle ( ) const -> AbstractPaddle*
inlinenodiscard

Definition at line 117 of file R3BDigitizingChannel.h.

◆ GetSide()

auto R3B::Digitizing::AbstractChannel::GetSide ( ) const -> R3B::Side
inlinenodiscard

Definition at line 116 of file R3BDigitizingChannel.h.

◆ GetSignalSize()

auto R3B::Digitizing::AbstractChannel::GetSignalSize ( ) const -> int
inlinenodiscard

Definition at line 118 of file R3BDigitizingChannel.h.

◆ GetTrigTime()

auto R3B::Digitizing::AbstractChannel::GetTrigTime ( ) const -> double
inlinenodiscard

Definition at line 122 of file R3BDigitizingChannel.h.

◆ HasFired()

virtual auto R3B::Digitizing::AbstractChannel::HasFired ( ) -> bool
inlinevirtual

Definition at line 111 of file R3BDigitizingChannel.h.

◆ operator=() [1/2]

auto R3B::Digitizing::AbstractChannel::operator= ( AbstractChannel && other) -> AbstractChannel &=delete
delete

◆ operator=() [2/2]

auto R3B::Digitizing::AbstractChannel::operator= ( const AbstractChannel & other) -> AbstractChannel &=delete
delete

◆ pre_construct()

virtual void R3B::Digitizing::AbstractChannel::pre_construct ( )
inlineprivatevirtual

Definition at line 140 of file R3BDigitizingChannel.h.

◆ Reset()

void R3B::Digitizing::AbstractChannel::Reset ( )

Resetting the private members including signals_, cal_signals_ and trig_time_. This reset function also calls the virtual function extra_reset, which is implemented in the child classes. The side_ and paddle_ member variables are not reset.

Definition at line 48 of file R3BDigitizingChannel.cxx.

◆ SetPaddle()

void R3B::Digitizing::AbstractChannel::SetPaddle ( AbstractPaddle * v_paddle)
inline

Definition at line 124 of file R3BDigitizingChannel.h.

Member Data Documentation

◆ cal_signals_

CalSignals R3B::Digitizing::AbstractChannel::cal_signals_
private

Definition at line 135 of file R3BDigitizingChannel.h.

◆ has_cal_output_

bool R3B::Digitizing::AbstractChannel::has_cal_output_ = false
private

Definition at line 129 of file R3BDigitizingChannel.h.

◆ hits_

Hits R3B::Digitizing::AbstractChannel::hits_
private

Definition at line 134 of file R3BDigitizingChannel.h.

◆ paddle_

AbstractPaddle* R3B::Digitizing::AbstractChannel::paddle_ = nullptr
private

Definition at line 133 of file R3BDigitizingChannel.h.

◆ side_

R3B::Side R3B::Digitizing::AbstractChannel::side_
private

Definition at line 130 of file R3BDigitizingChannel.h.

◆ signal_size_

int R3B::Digitizing::AbstractChannel::signal_size_ {}
private

Definition at line 132 of file R3BDigitizingChannel.h.

◆ trig_time_

double R3B::Digitizing::AbstractChannel::trig_time_ = 0.
private

Definition at line 131 of file R3BDigitizingChannel.h.


The documentation for this class was generated from the following files: