38 return (firstSignal.tdc + secondSignal.tdc) / 2;
43 return (firstSignal.qdcUnSat + secondSignal.qdcUnSat) / 2;
48 if (leftSignal.side == rightSignal.side)
50 R3BLOG(fatal,
"cannot compute position with signals from same side!");
54 : (rightSignal.tdc - leftSignal.tdc) / 2 *
gCMedium;
60 return { leftChannelHit, rightChannelHit };
70 return { time, light };
#define R3BLOG(severity, x)
auto ComputeEnergy(const Channel::Signal &firstSignal, const Channel::Signal &secondSignal) const -> double override
static constexpr double gCMedium
auto ComputePosition(const Channel::Signal &leftSignal, const Channel::Signal &rightSignal) const -> double override
static auto GenerateMockChannelHit(Double_t mcTime, Double_t mcLight, Double_t dist) -> Channel::Hit
static constexpr double gHalfLength
auto ComputeTime(const Channel::Signal &firstSignal, const Channel::Signal &secondSignal) const -> double override
auto ComputeChannelHits(const Hit &hit) const -> Pair< Channel::Hit > override
MockPaddle(uint16_t paddleID)
Paddle(int paddleID, SignalCouplingStrategy strategy=SignalCouplingByTime)
Simulation of Mock Bar/Paddle.