16#include <FairRuntimeDb.h>
31 void fill_module_parameters(
const std::vector<R3BNeulandHitModulePar>& old_module_pars,
34 for (
const auto& par : old_module_pars)
39 new_par.t_diff.value = par.GetTDiff();
40 new_par.t_sync.value = par.GetTSync();
41 new_par.effective_speed.value = par.GetEffectiveSpeed();
42 new_par.light_attenuation_length.value = par.GetLightAttenuationLength();
43 new_par.light_attenuation_factor.value =
51 new_par.pedestal.left().value = par.GetPedestal(left_index);
52 new_par.pedestal.right().value = par.GetPedestal(right_index);
54 new_par.energy_gain.left().value = par.GetEnergyGain(left_index);
55 new_par.energy_gain.right().value = par.GetEnergyGain(right_index);
57 new_par.pmt_saturation.left().value = par.GetPMTSaturation(left_index);
58 new_par.pmt_saturation.right().value = par.GetPMTSaturation(right_index);
60 new_par.pmt_threshold.left().value = par.GetPMTThreshold(left_index);
61 new_par.pmt_threshold.right().value = par.GetPMTThreshold(right_index);
80 hit_cal_engine_.Init(&hit_par_temp);
85 for (
const auto& signal : signals)
92 void LSQREngineAdaptor::add_bar_signal(
const BarCalData& barSignal,
Side side)
95 const auto module_id =
static_cast<int>(barSignal.
module_num - 1);
99 for (
const auto& calSignal : calData)
102 hit_cal_engine_.
Set(module_id,
103 static_cast<int>(
toIndex(side)),
104 calSignal.leading_time.value - calSignal.trigger_time.value,
105 static_cast<int>(calSignal.time_over_threshold.value));
106 if (hit_cal_engine_.
IsValid(module_id))
115 const auto added_points_num = cosmic_tracker_.GetBarIDs().size();
116 const auto& track = cosmic_tracker_.GetTrack();
117 if (track.Interactions.empty() or added_points_num < 6)
119 R3BLOG(debug,
"Failed to get the cosmic track!");
123 hit_cal_engine_.Add(track, event_num);
132 fill_module_parameters(hit_cal_engine_.Calibrate(new_dir), hit_par);
#define R3BLOG(severity, x)
void AddModulePar(const HitModulePar &module_par)
auto GetModuleSize() const -> auto
void AddPoint(const Int_t barID, const Double_t pos=NaN)
void Set(const Int_t id, const Int_t side, const Double_t time, const Int_t qdc)
Bool_t IsValid(const Int_t id)
Double_t GetPosition(const Int_t id)
void Calibrate(Cal2HitPar &hit_par) override
void AddSignals(const std::vector< BarCalData > &signals) override
void EndOfEvent(unsigned int event_num=0) override
auto mkdir(std::string_view dir_name) -> auto *
void SetNumberOfPlanes(const Int_t nPlanes)
constexpr auto BarsPerPlane
constexpr auto TotalBarLength
constexpr auto toIndex(Side side) -> size_t
std::vector< CalDataSignal > left