R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
MockModels.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
3 * Copyright (C) 2019-2025 Members of R3B Collaboration *
4 * *
5 * This software is distributed under the terms of the *
6 * GNU General Public Licence (GPL) version 3, *
7 * copied verbatim in the file "LICENSE". *
8 * *
9 * In applying this license GSI does not waive the privileges and immunities *
10 * granted to it by virtue of its status as an Intergovernmental Organization *
11 * or submit itself to any jurisdiction. *
12 ******************************************************************************/
13
14#pragma once
15#include "R3BDigitizingPaddle.h"
16#include <gmock/gmock.h>
17
24{
28
29 struct GMockNeulandPaddle : public Paddle
30 {
31 explicit GMockNeulandPaddle(uint16_t paddleID)
32 : Paddle{ paddleID }
33 {
34 }
37 (const Channel::Signal& firstSignal, const Channel::Signal& secondSignal),
38 (const, override));
41 (const Channel::Signal& firstSignal, const Channel::Signal& secondSignal),
42 (const, override));
45 (const Channel::Signal& firstSignal, const Channel::Signal& secondSignal),
46 (const, override));
47 MOCK_METHOD(Pair<Channel::Hit>, ComputeChannelHits, (const Hit& hit), (const, override));
48 };
49
50 struct GMockChannel : public Channel
51 {
53 : Digitizing::Channel{ side } {};
54 void AddHit(Hit hit) override { hits_.push_back(hit); }
55
56 MOCK_METHOD(void, AttachToPaddle, (Paddle*), (override));
58 std::vector<Hit> hits_;
59 };
60} // namespace R3B::testing::Neuland
virtual void AttachToPaddle(Paddle *paddle)
std::vector< Signal > Signals
virtual auto ConstructSignals() -> Signals=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
Paddle(int paddleID, SignalCouplingStrategy strategy=SignalCouplingByTime)
virtual auto ComputeEnergy(const Channel::Signal &firstSignal, const Channel::Signal &secondSignal) const -> double=0
virtual auto ComputeTime(const Channel::Signal &firstSignal, const Channel::Signal &secondSignal) const -> double=0
Simulation of Mock Bar/Paddle.
Definition MockModels.h:24
void AddHit(Hit hit) override
Definition MockModels.h:54
MOCK_METHOD(void, AttachToPaddle,(Paddle *),(override))
MOCK_METHOD(Signals, ConstructSignals,(),(override))
MOCK_METHOD(double, ComputeTime,(const Channel::Signal &firstSignal, const Channel::Signal &secondSignal),(const, override))
MOCK_METHOD(Pair< Channel::Hit >, ComputeChannelHits,(const Hit &hit),(const, override))
MOCK_METHOD(double, ComputePosition,(const Channel::Signal &firstSignal, const Channel::Signal &secondSignal),(const, override))
MOCK_METHOD(double, ComputeEnergy,(const Channel::Signal &firstSignal, const Channel::Signal &secondSignal),(const, override))