From 6561dcd22fbef89bac71d5300726deb492a1a88f Mon Sep 17 00:00:00 2001 From: Claudio Scafuri <claudio.scafuri@elettra.eu> Date: Tue, 11 Feb 2025 14:30:53 +0100 Subject: [PATCH] CEV correction and resonance strength --- src/E2Sextupole.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/E2Sextupole.cpp b/src/E2Sextupole.cpp index f810d76..b311018 100644 --- a/src/E2Sextupole.cpp +++ b/src/E2Sextupole.cpp @@ -1356,6 +1356,20 @@ void E2Sextupole::write_CEVCorrectionStrength(Tango::WAttribute &attr) /*----- PROTECTED REGION ID(E2Sextupole::write_CEVCorrectionStrength) ENABLED START -----*/ /* clang-format on */ // Add your own code + omni_mutex_lock guardio(iomutex); + Tango::DevDouble newStrength; + //resonanceAtt->get_write_value(_resStrength); + newStrength = w_val + wValCevResStrength + cev_design_strength; + + std::vector<double> req_strength; + std::vector<double> curr_out; + req_strength.push_back(newStrength); + cev->compute_currents(magnet_rigidity, req_strength, curr_out); + Tango::DeviceAttribute watt("Current", curr_out[0]); + cev_current_dev->write_attribute(watt); + wValCevCorrStrength = w_val; + cev_set_strength[0] = newStrength; + cevStrengthAtt->set_write_value(cev_set_strength[0]); /* clang-format off */ /*----- PROTECTED REGION END -----*/ // E2Sextupole::write_CEVCorrectionStrength } @@ -1408,7 +1422,7 @@ void E2Sextupole::write_CEVResonanceStrength(Tango::WAttribute &attr) wValCevResStrength = w_val; *attr_CEVResonanceStrength_read = w_val; cev_set_strength[0] = newStrength; - cevStrengthAtt->set_write_value(ceh_set_strength[0]); + cevStrengthAtt->set_write_value(cev_set_strength[0]); /* clang-format off */ /*----- PROTECTED REGION END -----*/ // E2Sextupole::write_CEVResonanceStrength } -- GitLab