From 4d75612cde36cf4aca2707cca23a630eb9981ee5 Mon Sep 17 00:00:00 2001 From: mfasel Date: Wed, 4 Apr 2018 10:11:57 +0200 Subject: [PATCH] [EMCAL-39, ALIROOT-7708] Check for active TRU Implement check of the TRU status based on the status in the STU region. --- EMCAL/EMCALbase/AliEMCALTriggerDCSConfig.cxx | 10 ++++++++++ EMCAL/EMCALbase/AliEMCALTriggerDCSConfig.h | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/EMCAL/EMCALbase/AliEMCALTriggerDCSConfig.cxx b/EMCAL/EMCALbase/AliEMCALTriggerDCSConfig.cxx index 5edbabd3bb0..94452bc57bb 100644 --- a/EMCAL/EMCALbase/AliEMCALTriggerDCSConfig.cxx +++ b/EMCAL/EMCALbase/AliEMCALTriggerDCSConfig.cxx @@ -16,6 +16,7 @@ #include "AliEMCALTriggerDCSConfig.h" #include "AliEMCALTriggerSTUDCSConfig.h" #include "AliEMCALTriggerTRUDCSConfig.h" +#include #include #include @@ -73,6 +74,15 @@ bool AliEMCALTriggerDCSConfig::operator==(const AliEMCALTriggerDCSConfig & other return isequal; } +bool AliEMCALTriggerDCSConfig::IsTRUEnabled(int itru) const { + if(itru < 32){ + if(fSTUObj) return std::bitset<32>(fSTUObj->GetRegion()).test(itru); + } else { + if(fSTUDCAL) return std::bitset<32>(fSTUDCAL->GetRegion()).test(itru-32); + } + return false; +} + std::ostream &operator<<(std::ostream &stream, const AliEMCALTriggerDCSConfig &config) { stream << "EMCAL trigger DCS config:" << std::endl; stream << "================================" << std::endl; diff --git a/EMCAL/EMCALbase/AliEMCALTriggerDCSConfig.h b/EMCAL/EMCALbase/AliEMCALTriggerDCSConfig.h index 984576d8528..8832bc4f064 100644 --- a/EMCAL/EMCALbase/AliEMCALTriggerDCSConfig.h +++ b/EMCAL/EMCALbase/AliEMCALTriggerDCSConfig.h @@ -63,6 +63,18 @@ class AliEMCALTriggerDCSConfig : public TObject inline AliEMCALTriggerSTUDCSConfig* GetSTUDCSConfig(Bool_t isDCAL = false) const; AliEMCALTriggerTRUDCSConfig* GetTRUDCSConfig(Int_t iTRU) const { return (AliEMCALTriggerTRUDCSConfig*)fTRUArr->At(iTRU); } + /** + * @brief Check whether TRU is enabled + * + * Enabled-status defined via presence of the TRU in the STU region: TRU + * is enabled if the corresponding bit is set in the STU region + * + * @param iTRU Global index of the TRU to be checked + * @return true TRU is enabled + * @return false TRU is not enabled + */ + bool IsTRUEnabled(int iTRU) const; + private: AliEMCALTriggerDCSConfig (const AliEMCALTriggerDCSConfig &cd); // Not implemented