21#include <RtypesCore.h>
24#include <fmt/format.h>
26#include <unordered_map>
57 explicit Cal2HitPar(std::string_view name =
"NeulandHitPar",
58 std::string_view title =
"Neuland Cal2Hit calibration",
59 std::string_view context =
"TestDefaultContext",
83 auto& module_par =
module_pars_.try_emplace(module_num).first->second;
84 module_par.module_num = module_num;
87 void SetModulePars(std::unordered_map<int, ::R3B::Neuland::HitModulePar> module_pars)
109 throw R3B::logic_error(fmt::format(
"module pars has no module num {}", module_num));
R3B::Neuland::Cal2HitPar R3BNeulandHitPar2
std::vector< double > distances_to_first_plane_
void SetModulePars(std::unordered_map< int, ::R3B::Neuland::HitModulePar > module_pars)
double global_time_offset_
auto GetDistanceToFirstPlane(int plane_num) const
void AddModulePar(const HitModulePar &module_par)
auto GetDistancesToFirstPlane() const -> const auto &
void SetDistanceToTarget(double distance)
auto GetEnergyCutoff() const
void CalculateEnergyCutoff()
void SetGlobalTimeOffset(double offset)
auto GetListOfModulePar() const -> const std::unordered_map< int, ::R3B::Neuland::HitModulePar > &
ClassDefOverride(Cal2HitPar, 2)
auto GetDistanceToTarget() const
auto GetListOfModuleParRef() -> auto &
auto GetNumOfModules() const -> std::size_t
auto AddNewModulePar(int module_num) -> HitModulePar &
void SetNumOfModules(int num)
auto operator=(const Cal2HitPar &) -> Cal2HitPar &=default
std::unordered_map< int, ::R3B::Neuland::HitModulePar > module_pars_
auto GetGlobalTimeOffset() const
void SetEnergyCutoff(double cutoff)
auto GetModulePars() const -> const std::unordered_map< int, ::R3B::Neuland::HitModulePar > &
auto operator=(Cal2HitPar &&) -> Cal2HitPar &=default
auto GetModuleParAt(int module_num) const -> const ::R3B::Neuland::HitModulePar &
auto HasModuleParAt(int module_num) const -> bool
Cal2HitPar(const Cal2HitPar &)=default
~Cal2HitPar() override=default
double distance_to_target_
Cal2HitPar(Cal2HitPar &&)=default
Cal2HitPar(std::string_view name="NeulandHitPar", std::string_view title="Neuland Cal2Hit calibration", std::string_view context="TestDefaultContext", bool own=true)
ParSet(std::string_view name="parSet", std::string_view title="Neuland parameter", std::string_view context="TestDefaultContext", bool own=true)
Simulation of NeuLAND Bar/Paddle.
ValueError< double > light_attenuation_factor
exp(alpha*L/2)
LRPair< ValueError< double > > pedestal
ValueError< double > light_attenuation_length
cm, 1/alpha
ValueError< double > effective_speed
cm/ns
LRPair< ValueError< double > > pmt_threshold
HitModulePar(int module_number)
ClassDefNV(HitModulePar, 2)
ValueError< double > t_diff
ns
LRPair< ValueError< double > > energy_gain
ValueError< double > t_sync
ns
LRPair< ValueError< double > > pmt_saturation