File indexing completed on 2024-04-06 12:20:38
0001 #ifndef __L1Trigger_L1THGCal_HGCalHistoCluteringConfig_SA_h__
0002 #define __L1Trigger_L1THGCal_HGCalHistoCluteringConfig_SA_h__
0003
0004 #include <vector>
0005
0006 namespace l1thgcfirmware {
0007
0008 class ClusterAlgoConfig {
0009 public:
0010 ClusterAlgoConfig(const double midRadius,
0011 const double dr,
0012 const std::vector<double>& dr_byLayer_coefficientA,
0013 const std::vector<double>& dr_byLayer_coefficientB,
0014 const float ptC3dThreshold)
0015 : midRadius_(midRadius),
0016 dr_(dr),
0017 dr_byLayer_coefficientA_(dr_byLayer_coefficientA),
0018 dr_byLayer_coefficientB_(dr_byLayer_coefficientB),
0019 ptC3dThreshold_(ptC3dThreshold) {}
0020
0021 void setParameters(double midRadius,
0022 double dr,
0023 const std::vector<double>& dr_byLayer_coefficientA,
0024 const std::vector<double>& dr_byLayer_coefficientB,
0025 float ptC3dThreshold) {
0026 midRadius_ = midRadius;
0027 dr_ = dr;
0028 dr_byLayer_coefficientA_ = dr_byLayer_coefficientA;
0029 dr_byLayer_coefficientB_ = dr_byLayer_coefficientB;
0030 ptC3dThreshold_ = ptC3dThreshold;
0031 }
0032
0033 void setParameters(const ClusterAlgoConfig& newConfig) {
0034 setParameters(newConfig.midRadius(),
0035 newConfig.dr(),
0036 newConfig.dr_byLayer_coefficientA(),
0037 newConfig.dr_byLayer_coefficientB(),
0038 newConfig.ptC3dThreshold());
0039 }
0040 double midRadius() const { return midRadius_; }
0041 double dr() const { return dr_; }
0042 const std::vector<double>& dr_byLayer_coefficientA() const { return dr_byLayer_coefficientA_; }
0043 const std::vector<double>& dr_byLayer_coefficientB() const { return dr_byLayer_coefficientB_; }
0044 float ptC3dThreshold() const { return ptC3dThreshold_; }
0045
0046 private:
0047 double midRadius_;
0048 double dr_;
0049 std::vector<double> dr_byLayer_coefficientA_;
0050 std::vector<double> dr_byLayer_coefficientB_;
0051 float ptC3dThreshold_;
0052 };
0053
0054 }
0055
0056 #endif