R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3B::Digitizing::Paddle Class Referenceabstract

#include <R3BDigitizingPaddle.h>

Public Types

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
 

Public Member Functions

 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
 
virtual auto MatchSignals (const Channel::Signal &firstSignal, const Channel::Signal &secondSignal) const -> float
 

Static Public Member Functions

static auto SignalCouplingByTime (const Paddle &self, const Channel::Signals &firstSignals, const Channel::Signals &secondSignals) -> std::vector< ChannelSignalPair >
 

Private Member Functions

virtual auto ConstructPaddelSignals (const Channel::Signals &firstSignals, const Channel::Signals &secondSignals) const -> Signals
 
virtual auto ComputeTime (const Channel::Signal &firstSignal, const Channel::Signal &secondSignal) const -> double=0
 
virtual auto ComputeEnergy (const Channel::Signal &firstSignal, const Channel::Signal &secondSignal) const -> double=0
 
virtual auto ComputePosition (const Channel::Signal &rightSignal, const Channel::Signal &leftSignal) const -> double=0
 
virtual auto ComputeChannelHits (const Hit &hit) const -> Pair< Channel::Hit >=0
 

Detailed Description

Definition at line 69 of file R3BDigitizingPaddle.h.

Member Typedef Documentation

◆ ChannelSignalPair

using R3B::Digitizing::Paddle::ChannelSignalPair = Pair<std::reference_wrapper<const Channel::Signal>>

Definition at line 77 of file R3BDigitizingPaddle.h.

◆ Hit

Definition at line 75 of file R3BDigitizingPaddle.h.

◆ Pair

template<typename Type>
using R3B::Digitizing::Paddle::Pair = LRPair<Type>

Definition at line 73 of file R3BDigitizingPaddle.h.

◆ Signal

◆ SignalCouplingStrategy

Initial value:
std::function<
std::vector<ChannelSignalPair>(const Paddle&, const Channel::Signals&, const Channel::Signals&)>
std::vector< Signal > Signals
Paddle(int paddleID, SignalCouplingStrategy strategy=SignalCouplingByTime)

Definition at line 78 of file R3BDigitizingPaddle.h.

◆ Signals

Definition at line 76 of file R3BDigitizingPaddle.h.

Constructor & Destructor Documentation

◆ Paddle() [1/3]

R3B::Digitizing::Paddle::Paddle ( int paddleID,
SignalCouplingStrategy strategy = SignalCouplingByTime )
explicit

Definition at line 18 of file R3BDigitizingPaddle.cxx.

◆ ~Paddle()

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

◆ Paddle() [2/3]

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

◆ Paddle() [3/3]

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

Member Function Documentation

◆ ComputeChannelHits()

virtual auto R3B::Digitizing::Paddle::ComputeChannelHits ( const Hit & hit) const -> Pair< Channel::Hit >
privatepure virtual

◆ ComputeEnergy()

virtual auto R3B::Digitizing::Paddle::ComputeEnergy ( const Channel::Signal & firstSignal,
const Channel::Signal & secondSignal ) const -> double
privatepure virtual

◆ ComputePosition()

virtual auto R3B::Digitizing::Paddle::ComputePosition ( const Channel::Signal & rightSignal,
const Channel::Signal & leftSignal ) const -> double
privatepure virtual

◆ ComputeTime()

virtual auto R3B::Digitizing::Paddle::ComputeTime ( const Channel::Signal & firstSignal,
const Channel::Signal & secondSignal ) const -> double
privatepure virtual

◆ ConstructPaddelSignals()

auto R3B::Digitizing::Paddle::ConstructPaddelSignals ( const Channel::Signals & firstSignals,
const Channel::Signals & secondSignals ) const -> Signals
privatevirtual

Definition at line 65 of file R3BDigitizingPaddle.cxx.

◆ DepositLight()

void R3B::Digitizing::Paddle::DepositLight ( const Hit & hit)

Definition at line 42 of file R3BDigitizingPaddle.cxx.

◆ GetLeftChannel()

auto R3B::Digitizing::Paddle::GetLeftChannel ( ) const -> const Channel*
inline

Definition at line 102 of file R3BDigitizingPaddle.h.

◆ GetLeftChannelRef()

auto & R3B::Digitizing::Paddle::GetLeftChannelRef ( )
inline

Definition at line 103 of file R3BDigitizingPaddle.h.

◆ GetPaddleID()

auto R3B::Digitizing::Paddle::GetPaddleID ( ) const -> int
inline

Definition at line 99 of file R3BDigitizingPaddle.h.

◆ GetRightChannel()

auto R3B::Digitizing::Paddle::GetRightChannel ( ) const -> const Channel*
inline

Definition at line 105 of file R3BDigitizingPaddle.h.

◆ GetRightChannelRef()

auto & R3B::Digitizing::Paddle::GetRightChannelRef ( )
inline

Definition at line 104 of file R3BDigitizingPaddle.h.

◆ GetSignalCouplingStragtegy()

auto R3B::Digitizing::Paddle::GetSignalCouplingStragtegy ( ) const -> const SignalCouplingStrategy&
inline

Definition at line 101 of file R3BDigitizingPaddle.h.

◆ GetSignals()

auto R3B::Digitizing::Paddle::GetSignals ( ) const -> const std::vector<Signal>&

Definition at line 97 of file R3BDigitizingPaddle.cxx.

◆ GetTrigTime()

auto R3B::Digitizing::Paddle::GetTrigTime ( ) const -> double

Definition at line 144 of file R3BDigitizingPaddle.cxx.

◆ HasFired()

auto R3B::Digitizing::Paddle::HasFired ( ) const -> bool

Definition at line 49 of file R3BDigitizingPaddle.cxx.

◆ HasHalfFired()

auto R3B::Digitizing::Paddle::HasHalfFired ( ) const -> bool

Definition at line 59 of file R3BDigitizingPaddle.cxx.

◆ MatchSignals()

virtual auto R3B::Digitizing::Paddle::MatchSignals ( const Channel::Signal & firstSignal,
const Channel::Signal & secondSignal ) const -> float
inlinevirtual

Reimplemented in R3B::Digitizing::Neuland::NeulandPaddle.

Definition at line 127 of file R3BDigitizingPaddle.h.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ SetChannel()

void R3B::Digitizing::Paddle::SetChannel ( std::unique_ptr< Channel > channel)

Definition at line 24 of file R3BDigitizingPaddle.cxx.

◆ SetSignalCouplingStrategy()

void R3B::Digitizing::Paddle::SetSignalCouplingStrategy ( const SignalCouplingStrategy & strategy)
inline

Definition at line 96 of file R3BDigitizingPaddle.h.

◆ SignalCouplingByTime()

auto R3B::Digitizing::Paddle::SignalCouplingByTime ( const Paddle & self,
const Channel::Signals & firstSignals,
const Channel::Signals & secondSignals ) -> std::vector<ChannelSignalPair>
static

Definition at line 115 of file R3BDigitizingPaddle.cxx.


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