R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3B::Digitizing::Neuland::NeulandPaddle Class Reference

#include <R3BDigitizingPaddleNeuland.h>

Public Member Functions

 NeulandPaddle (uint16_t paddleID)
 
 NeulandPaddle (uint16_t paddleID, R3B::Neuland::Cal2HitPar *cal_to_hit_par)
 
auto MatchSignals (const Channel::Signal &firstSignal, const Channel::Signal &secondSignal) const -> float override
 
auto GenerateChannelHit (double mcTime, double mcLight, double dist, enum ChannelSide channel_side) const -> Channel::Hit
 
- Public Member Functions inherited from R3B::Digitizing::Paddle
 Paddle (int paddleID, SignalCouplingStrategy strategy=SignalCouplingByTime)
 
auto HasFired () const -> bool
 
auto HasHalfFired () const -> bool
 
virtual ~Paddle ()=default
 
 Paddle (const Paddle &other)=delete
 
auto operator= (const Paddle &other) -> Paddle &=delete
 
 Paddle (Paddle &&other)=default
 
auto operator= (Paddle &&other) -> Paddle &=delete
 
void DepositLight (const Hit &hit)
 
void SetChannel (std::unique_ptr< Channel > channel)
 
void SetSignalCouplingStrategy (const SignalCouplingStrategy &strategy)
 
auto GetPaddleID () const -> int
 
auto GetSignals () const -> const std::vector< Signal > &
 
auto GetSignalCouplingStragtegy () const -> const SignalCouplingStrategy &
 
auto GetLeftChannel () const -> const Channel *
 
auto & GetLeftChannelRef ()
 
auto & GetRightChannelRef ()
 
auto GetRightChannel () const -> const Channel *
 
auto GetTrigTime () const -> double
 

Static Public Member Functions

static auto SignalCouplingNeuland (const Paddle &self, const Channel::Signals &firstSignals, const Channel::Signals &secondSignals) -> std::vector< ChannelSignalPair >
 
- Static Public Member Functions inherited from R3B::Digitizing::Paddle
static auto SignalCouplingByTime (const Paddle &self, const Channel::Signals &firstSignals, const Channel::Signals &secondSignals) -> std::vector< ChannelSignalPair >
 

Static Public Attributes

static constexpr double gHalfLength = 135.
 
static constexpr double gAttenuation = 0.008
 
static constexpr double gLambda = 1. / 2.1
 

Private Member Functions

auto ComputeTime (const Channel::Signal &firstSignal, const Channel::Signal &secondSignal) const -> double override
 
auto ComputeEnergy (const Channel::Signal &firstSignal, const Channel::Signal &secondSignal) const -> double override
 
auto ComputePosition (const Channel::Signal &leftSignal, const Channel::Signal &rightSignal) const -> double override
 
auto ComputeChannelHits (const Hit &hit) const -> Pair< Channel::Hit > override
 

Additional Inherited Members

- Public Types inherited from R3B::Digitizing::Paddle
template<typename Type>
using Pair = LRPair<Type>
 
using Signal = PaddleSignal
 
using Hit = PaddleHit
 
using Signals = std::vector<Signal>
 
using ChannelSignalPair = Pair<std::reference_wrapper<const Channel::Signal>>
 
using SignalCouplingStrategy
 

Detailed Description

Definition at line 30 of file R3BDigitizingPaddleNeuland.h.

Constructor & Destructor Documentation

◆ NeulandPaddle() [1/2]

R3B::Digitizing::Neuland::NeulandPaddle::NeulandPaddle ( uint16_t paddleID)
explicit

Definition at line 41 of file R3BDigitizingPaddleNeuland.cxx.

◆ NeulandPaddle() [2/2]

R3B::Digitizing::Neuland::NeulandPaddle::NeulandPaddle ( uint16_t paddleID,
R3B::Neuland::Cal2HitPar * cal_to_hit_par )
explicit

Definition at line 46 of file R3BDigitizingPaddleNeuland.cxx.

Member Function Documentation

◆ ComputeChannelHits()

auto R3B::Digitizing::Neuland::NeulandPaddle::ComputeChannelHits ( const Hit & hit) const -> Pair<Channel::Hit>
overrideprivatevirtual

Implements R3B::Digitizing::Paddle.

Definition at line 115 of file R3BDigitizingPaddleNeuland.cxx.

◆ ComputeEnergy()

auto R3B::Digitizing::Neuland::NeulandPaddle::ComputeEnergy ( const Channel::Signal & firstSignal,
const Channel::Signal & secondSignal ) const -> double
inlinenodiscardoverrideprivatevirtual

Implements R3B::Digitizing::Paddle.

Definition at line 88 of file R3BDigitizingPaddleNeuland.cxx.

◆ ComputePosition()

auto R3B::Digitizing::Neuland::NeulandPaddle::ComputePosition ( const Channel::Signal & leftSignal,
const Channel::Signal & rightSignal ) const -> double
inlinenodiscardoverrideprivatevirtual

Implements R3B::Digitizing::Paddle.

Definition at line 101 of file R3BDigitizingPaddleNeuland.cxx.

◆ ComputeTime()

auto R3B::Digitizing::Neuland::NeulandPaddle::ComputeTime ( const Channel::Signal & firstSignal,
const Channel::Signal & secondSignal ) const -> double
inlinenodiscardoverrideprivatevirtual

Implements R3B::Digitizing::Paddle.

Definition at line 94 of file R3BDigitizingPaddleNeuland.cxx.

◆ GenerateChannelHit()

auto R3B::Digitizing::Neuland::NeulandPaddle::GenerateChannelHit ( double mcTime,
double mcLight,
double dist,
enum ChannelSide channel_side ) const -> Channel::Hit

Definition at line 125 of file R3BDigitizingPaddleNeuland.cxx.

◆ MatchSignals()

auto R3B::Digitizing::Neuland::NeulandPaddle::MatchSignals ( const Channel::Signal & firstSignal,
const Channel::Signal & secondSignal ) const -> float
overridevirtual

Reimplemented from R3B::Digitizing::Paddle.

Definition at line 62 of file R3BDigitizingPaddleNeuland.cxx.

◆ SignalCouplingNeuland()

auto R3B::Digitizing::Neuland::NeulandPaddle::SignalCouplingNeuland ( const Paddle & self,
const Channel::Signals & firstSignals,
const Channel::Signals & secondSignals ) -> std::vector<ChannelSignalPair>
staticnodiscard

Definition at line 139 of file R3BDigitizingPaddleNeuland.cxx.

Member Data Documentation

◆ gAttenuation

double R3B::Digitizing::Neuland::NeulandPaddle::gAttenuation = 0.008
staticconstexpr

Definition at line 48 of file R3BDigitizingPaddleNeuland.h.

◆ gHalfLength

double R3B::Digitizing::Neuland::NeulandPaddle::gHalfLength = 135.
staticconstexpr

Definition at line 47 of file R3BDigitizingPaddleNeuland.h.

◆ gLambda

double R3B::Digitizing::Neuland::NeulandPaddle::gLambda = 1. / 2.1
staticconstexpr

Definition at line 49 of file R3BDigitizingPaddleNeuland.h.


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