R3BROOT
R3B analysis software
|
#include <R3BDigitizingPaddle.h>
Public Types | |
template<typename Type> | |
using | Pair = LRPair<Type> |
using | Hit = PaddleHit |
using | Signal = PaddleSignal |
using | Hits = std::vector<Hit> |
using | ChannelSignalPair = Pair<std::reference_wrapper<const AbstractChannel::Hit>> |
using | SignalCouplingStrategy |
Public Member Functions | |
AbstractPaddle (int paddleID, SignalCouplingStrategy strategy=SignalCouplingByTime) | |
auto | HasFired () const -> bool |
auto | HasHalfFired () const -> bool |
void | Construct () |
void | Reset () |
virtual | ~AbstractPaddle ()=default |
AbstractPaddle (const AbstractPaddle &other)=delete | |
auto | operator= (const AbstractPaddle &other) -> AbstractPaddle &=delete |
AbstractPaddle (AbstractPaddle &&other)=default | |
auto | operator= (AbstractPaddle &&other) -> AbstractPaddle &=delete |
void | DepositLight (const Signal &signal) |
void | SetChannel (std::unique_ptr< AbstractChannel > channel) |
void | SetSignalCouplingStrategy (const SignalCouplingStrategy &strategy) |
auto | GetPaddleID () const -> int |
auto | GetHits () const -> const std::vector< Hit > & |
auto | GetSignalCouplingStragtegy () const -> const SignalCouplingStrategy & |
auto | GetLeftChannel () const -> const AbstractChannel * |
auto | GetLeftChannelRef () const -> auto & |
auto | GetChannel (R3B::Side side) const -> const Digitizing::AbstractChannel & |
auto | GetRightChannelRef () const -> auto & |
auto | GetRightChannel () const -> const AbstractChannel * |
auto | GetTrigTime () const -> double |
void | SetPaddleID (int paddle_id) |
virtual auto | match_hits (const AbstractChannel::Hit &, const AbstractChannel::Hit &) const -> float |
Static Public Member Functions | |
static auto | SignalCouplingByTime (const AbstractPaddle &self, const AbstractChannel::Hits &firstSignals, const AbstractChannel::Hits &secondSignals) -> std::vector< ChannelSignalPair > |
Private Member Functions | |
virtual void | extra_reset () |
virtual void | pre_construct () |
virtual auto | compute_time (const AbstractChannel::Hit &firstSignal, const AbstractChannel::Hit &secondSignal) const -> double=0 |
virtual auto | compute_energy (const AbstractChannel::Hit &firstSignal, const AbstractChannel::Hit &secondSignal) const -> double=0 |
virtual auto | compute_position (const AbstractChannel::Hit &rightSignal, const AbstractChannel::Hit &leftSignal) const -> double=0 |
virtual auto | compute_channel_signals (const Signal &hit) const -> Pair< AbstractChannel::Signal >=0 |
void | construct_paddle_signals (Hits &paddle_signals, const AbstractChannel::Hits &firstSignals, const AbstractChannel::Hits &secondSignals) const |
Private Attributes | |
int | paddle_id_ {} |
Hits | signal_hits_ |
std::unique_ptr< AbstractChannel > | left_channel_ |
std::unique_ptr< AbstractChannel > | right_channel_ |
SignalCouplingStrategy | signal_coupling_strategy_ |
Definition at line 72 of file R3BDigitizingPaddle.h.
using R3B::Digitizing::AbstractPaddle::ChannelSignalPair = Pair<std::reference_wrapper<const AbstractChannel::Hit>> |
Definition at line 80 of file R3BDigitizingPaddle.h.
Definition at line 77 of file R3BDigitizingPaddle.h.
using R3B::Digitizing::AbstractPaddle::Hits = std::vector<Hit> |
Definition at line 79 of file R3BDigitizingPaddle.h.
using R3B::Digitizing::AbstractPaddle::Pair = LRPair<Type> |
Definition at line 76 of file R3BDigitizingPaddle.h.
Definition at line 78 of file R3BDigitizingPaddle.h.
Definition at line 81 of file R3BDigitizingPaddle.h.
|
explicit |
Definition at line 26 of file R3BDigitizingPaddle.cxx.
|
virtualdefault |
|
delete |
|
default |
|
nodiscardprivatepure virtual |
Implemented in R3B::Digitizing::Neuland::MockPaddle, and R3B::Digitizing::Neuland::Paddle.
|
nodiscardprivatepure virtual |
Implemented in R3B::Digitizing::Neuland::MockPaddle, and R3B::Digitizing::Neuland::Paddle.
|
nodiscardprivatepure virtual |
Implemented in R3B::Digitizing::Neuland::MockPaddle, and R3B::Digitizing::Neuland::Paddle.
|
nodiscardprivatepure virtual |
Implemented in R3B::Digitizing::Neuland::MockPaddle, and R3B::Digitizing::Neuland::Paddle.
void R3B::Digitizing::AbstractPaddle::Construct | ( | ) |
Definition at line 114 of file R3BDigitizingPaddle.cxx.
|
private |
Definition at line 82 of file R3BDigitizingPaddle.cxx.
void R3B::Digitizing::AbstractPaddle::DepositLight | ( | const Signal & | signal | ) |
Definition at line 59 of file R3BDigitizingPaddle.cxx.
|
inlineprivatevirtual |
Definition at line 135 of file R3BDigitizingPaddle.h.
|
nodiscard |
Definition at line 50 of file R3BDigitizingPaddle.cxx.
|
inlinenodiscard |
Definition at line 106 of file R3BDigitizingPaddle.h.
|
inlinenodiscard |
Definition at line 111 of file R3BDigitizingPaddle.h.
|
inlinenodiscard |
Definition at line 112 of file R3BDigitizingPaddle.h.
|
inlinenodiscard |
Definition at line 105 of file R3BDigitizingPaddle.h.
|
inlinenodiscard |
Definition at line 115 of file R3BDigitizingPaddle.h.
|
inlinenodiscard |
Definition at line 114 of file R3BDigitizingPaddle.h.
|
inlinenodiscard |
Definition at line 107 of file R3BDigitizingPaddle.h.
|
nodiscard |
Definition at line 164 of file R3BDigitizingPaddle.cxx.
|
nodiscard |
Definition at line 66 of file R3BDigitizingPaddle.cxx.
|
nodiscard |
Definition at line 76 of file R3BDigitizingPaddle.cxx.
|
inlinenodiscardvirtual |
Reimplemented in R3B::Digitizing::Neuland::Paddle.
Definition at line 121 of file R3BDigitizingPaddle.h.
|
delete |
|
delete |
|
inlineprivatevirtual |
Reimplemented in R3B::Digitizing::Neuland::Paddle.
Definition at line 136 of file R3BDigitizingPaddle.h.
void R3B::Digitizing::AbstractPaddle::Reset | ( | ) |
Definition at line 126 of file R3BDigitizingPaddle.cxx.
void R3B::Digitizing::AbstractPaddle::SetChannel | ( | std::unique_ptr< AbstractChannel > | channel | ) |
Definition at line 32 of file R3BDigitizingPaddle.cxx.
|
inline |
Definition at line 119 of file R3BDigitizingPaddle.h.
|
inline |
Definition at line 102 of file R3BDigitizingPaddle.h.
|
static |
Definition at line 134 of file R3BDigitizingPaddle.cxx.
|
private |
Definition at line 130 of file R3BDigitizingPaddle.h.
|
private |
Definition at line 128 of file R3BDigitizingPaddle.h.
|
private |
Definition at line 131 of file R3BDigitizingPaddle.h.
|
private |
Definition at line 132 of file R3BDigitizingPaddle.h.
|
private |
Definition at line 129 of file R3BDigitizingPaddle.h.