20#include <FairRootManager.h>
21#include <FairRuntimeDb.h>
45 explicit Cal2HitTask(std::string_view input_cal_data_name =
"NeulandCalData",
46 std::string_view input_cal_2_hit_par_name =
"NeulandHitPar",
47 std::string_view output_hit_data_name =
"NeulandHits"
74 void ExtraInit(FairRootManager* rootMan)
override;
79 [[nodiscard]]
auto CheckConditions([[maybe_unused]] TH1L* hist_condition)
const ->
bool override;
84 std::vector<CalibratedSignal>& signals,
86 void construct_hits(
const std::vector<CalibratedSignal>& left_signals,
87 const std::vector<CalibratedSignal>& right_signals,
89 std::vector<Hit>& hits);
109 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
110 template <
typename FmtContent>
113 return fmt::format_to(ctn.out(),
"{{time: {}, energy: {}}}", signal.
time, signal.
energy);
static auto get_calibrated_energy(const CalDataSignal &calSignal, const HitModulePar &par, R3B::Side side) -> ValueErrorD
void SetExtraPar(FairRuntimeDb *rtdb) override
void construct_hits(const std::vector< CalibratedSignal > &left_signals, const std::vector< CalibratedSignal > &right_signals, const HitModulePar &par, std::vector< Hit > &hits)
void ExtraInit(FairRootManager *rootMan) override
double global_time_offset_
InputParView< Cal2HitPar > cal_to_hit_par_
auto construct_hit(const LRPair< CalibratedSignal > &signalPair, const HitModulePar &par) const -> Hit
Cal2HitTask(std::string_view input_cal_data_name="NeulandCalData", std::string_view input_cal_2_hit_par_name="NeulandHitPar", std::string_view output_hit_data_name="NeulandHits")
static auto get_calibrated_time(const CalDataSignal &calSignal, const HitModulePar &par, R3B::Side side) -> ValueErrorD
auto get_hit_time(ValueErrorD first_t, ValueErrorD second_t) const -> ValueErrorD
auto CheckConditions(TH1L *hist_condition) const -> bool override
void SetGlobalTimeOffset(double offset)
Set the global time offset relating to the reference bar.
static auto to_calibrated_signal(const CalDataSignal &calSignal, const HitModulePar &par, R3B::Side side) -> CalibratedSignal
std::vector< CalibratedSignal > temp_left_signals_
void TriggeredExec() override
void calculate_calibrated_signals(const BarCalData &calBar, std::vector< CalibratedSignal > &signals, Side side)
auto signal_match_checking(const CalibratedSignal &first_signal, const CalibratedSignal &second_signal, const HitModulePar &par) -> bool
void HistogramInit(DataMonitor &histograms) override
InputVectorConnector< BarCalData > cal_data_
void EndOfTask() override
void SetDistanceToTarget(double distance)
std::vector< CalibratedSignal > temp_right_signals_
double distance_to_target_
void BeginOfEvent() override
OutputVectorConnector< Hit > hit_data_
Simulation of NeuLAND Bar/Paddle.
ValueError< double > ValueErrorD
InputConnector< std::vector< ElementType > > InputVectorConnector
OutputConnector< std::vector< ElementType > > OutputVectorConnector