R3BROOT
R3B analysis software
|
#include <R3BDigitizingPaddleNeuland.h>
Public Member Functions | |
Paddle (int paddle_id) | |
Paddle (int paddle_id, R3B::Neuland::Cal2HitPar *cal_to_hit_par) | |
auto | match_hits (const AbstractChannel::Hit &firstSignal, const AbstractChannel::Hit &secondSignal) const -> float override |
auto | GenerateChannelSignal (double mcTime, double mcLight, double dist, enum Side channel_side) const -> AbstractChannel::Signal |
![]() | |
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) |
Static Public Member Functions | |
static auto | HitCouplingNeuland (const AbstractPaddle &self, const AbstractChannel::Hits &firstSignals, const AbstractChannel::Hits &secondSignals) -> std::vector< ChannelSignalPair > |
![]() | |
static auto | SignalCouplingByTime (const AbstractPaddle &self, const AbstractChannel::Hits &firstSignals, const AbstractChannel::Hits &secondSignals) -> std::vector< ChannelSignalPair > |
Static Public Attributes | |
static constexpr double | HALF_BAR_LENGTH = 135. |
static constexpr double | DEFAULT_ATTENUATION = 0.008 |
Private Member Functions | |
void | pre_construct () override |
auto | compute_time (const AbstractChannel::Hit &firstSignal, const AbstractChannel::Hit &secondSignal) const -> double override |
auto | compute_energy (const AbstractChannel::Hit &firstSignal, const AbstractChannel::Hit &secondSignal) const -> double override |
auto | compute_position (const AbstractChannel::Hit &leftSignal, const AbstractChannel::Hit &rightSignal) const -> double override |
auto | compute_channel_signals (const Signal &signal) const -> Pair< AbstractChannel::Signal > override |
Private Attributes | |
double | attenuation_ = DEFAULT_ATTENUATION |
double | reverse_atten_fac_ = std::exp(HALF_BAR_LENGTH * DEFAULT_ATTENUATION) |
double | effective_speed_ = R3B::Neuland::DEFAULT_EFFECTIVE_C |
double | time_offset_ = 0.0 |
double | time_sync_ = 0.0 |
R3B::Neuland::Cal2HitPar * | cal_to_hit_par_ = nullptr |
Additional Inherited Members | |
![]() | |
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 |
Definition at line 34 of file R3BDigitizingPaddleNeuland.h.
|
explicit |
Definition at line 48 of file R3BDigitizingPaddleNeuland.cxx.
|
explicit |
Definition at line 53 of file R3BDigitizingPaddleNeuland.cxx.
|
nodiscardoverrideprivatevirtual |
Implements R3B::Digitizing::AbstractPaddle.
Definition at line 125 of file R3BDigitizingPaddleNeuland.cxx.
|
inlinenodiscardoverrideprivatevirtual |
Implements R3B::Digitizing::AbstractPaddle.
Definition at line 98 of file R3BDigitizingPaddleNeuland.cxx.
|
inlinenodiscardoverrideprivatevirtual |
Implements R3B::Digitizing::AbstractPaddle.
Definition at line 111 of file R3BDigitizingPaddleNeuland.cxx.
|
inlinenodiscardoverrideprivatevirtual |
Implements R3B::Digitizing::AbstractPaddle.
Definition at line 104 of file R3BDigitizingPaddleNeuland.cxx.
|
nodiscard |
Definition at line 136 of file R3BDigitizingPaddleNeuland.cxx.
|
staticnodiscard |
Definition at line 150 of file R3BDigitizingPaddleNeuland.cxx.
|
nodiscardoverridevirtual |
Reimplemented from R3B::Digitizing::AbstractPaddle.
Definition at line 59 of file R3BDigitizingPaddleNeuland.cxx.
|
overrideprivatevirtual |
Reimplemented from R3B::Digitizing::AbstractPaddle.
Definition at line 84 of file R3BDigitizingPaddleNeuland.cxx.
|
private |
Definition at line 55 of file R3BDigitizingPaddleNeuland.h.
|
private |
Definition at line 61 of file R3BDigitizingPaddleNeuland.h.
|
staticconstexpr |
Definition at line 52 of file R3BDigitizingPaddleNeuland.h.
|
private |
Definition at line 57 of file R3BDigitizingPaddleNeuland.h.
|
staticconstexpr |
Definition at line 51 of file R3BDigitizingPaddleNeuland.h.
|
private |
Definition at line 56 of file R3BDigitizingPaddleNeuland.h.
|
private |
Definition at line 58 of file R3BDigitizingPaddleNeuland.h.
|
private |
Definition at line 59 of file R3BDigitizingPaddleNeuland.h.