54 void init(
const std::vector<DPID>& pids);
57 int process(
const gsl::span<const DPCOM> dps);
77 std::vector<std::string> envaliases = {
"CavernTemperature",
"temperature_P2_external",
"AtmosPressure",
"UXC2Humidity"};
78 for (
const auto& envalias : envaliases) {
79 if (std::strstr(dpalias, envalias.c_str()) !=
nullptr) {
94 const std::unordered_map<DPID, TRDDCSMinMaxMeanInfo>&
getTRDGasDPsInfo()
const {
return mTRDDCSGas; }
97 const std::unordered_map<DPID, TRDDCSMinMaxMeanInfo>&
getTRDEnvDPsInfo()
const {
return mTRDDCSEnv; }
122 std::unordered_map<DPID, TRDDCSMinMaxMeanInfo> mTRDDCSGas;
123 std::unordered_map<DPID, TRDDCSMinMaxMeanInfo> mTRDDCSCurrents;
124 std::unordered_map<DPID, float> mTRDDCSVoltages;
125 std::unordered_map<DPID, TRDDCSMinMaxMeanInfo> mTRDDCSEnv;
126 std::array<int, constants::MAXCHAMBER> mTRDDCSFedChamberStatus;
127 std::array<string, constants::MAXCHAMBER> mTRDDCSFedCFGtag;
130 std::unordered_map<DPID, bool> mPids;
131 std::unordered_map<DPID, uint64_t> mLastDPTimeStamps;
143 TFType mFedChamberStatusStartTS;
146 bool mGasStartTSset{
false};
147 bool mVoltagesStartTSSet{
false};
148 bool mCurrentsStartTSSet{
false};
149 bool mEnvStartTSSet{
false};
150 bool mFedChamberStatusStartTSSet{
false};
151 bool mFedCFGtagStartTSSet{
false};
152 std::bitset<constants::MAXCHAMBER> mVoltageSet{};
153 bool mShouldUpdateVoltages{
false};
155 bool mFedChamberStatusCompleteDPs{
false};
156 bool mFedCFGtagCompleteDPs{
false};
157 bool mFirstRunEntryForFedChamberStatusUpdate{
false};
158 bool mFirstRunEntryForFedCFGtagUpdate{
false};
159 int mCurrentRunNumber{-1};
160 int mFedChamberStatusAlarmCounter{0};
161 int mFedCFGtagAlarmCounter{0};
165 int mFedAlarmCounterMax{1};
166 int mFedMinimunDPsForUpdate{522};
167 float mUVariationTriggerForUpdate{1.0};