From 36800067ff0e83daa0d0c8c7e5056d0ddf8aa9d7 Mon Sep 17 00:00:00 2001 From: Ilnour Gabdrakhmanov <ilnur@jinr.ru> Date: Fri, 14 Jul 2023 08:24:35 +0000 Subject: [PATCH] addition to the last commit --- base/raw/BmnTrigChannelConfig.h | 33 +++++++++++++++++ base/raw/BmnTrigConfig.cxx | 18 ++++++++++ base/raw/BmnTrigConfig.h | 64 +++++++++++++++++++++++++++++++++ 3 files changed, 115 insertions(+) create mode 100644 base/raw/BmnTrigChannelConfig.h create mode 100644 base/raw/BmnTrigConfig.cxx create mode 100644 base/raw/BmnTrigConfig.h diff --git a/base/raw/BmnTrigChannelConfig.h b/base/raw/BmnTrigChannelConfig.h new file mode 100644 index 000000000..3e3b52c32 --- /dev/null +++ b/base/raw/BmnTrigChannelConfig.h @@ -0,0 +1,33 @@ +/** + * Class BmnTrigChannelConfig + * Trigger channel configuration (count reduction, time protection) + */ + +#ifndef TRIGCHANNELCONFIG_H +#define TRIGCHANNELCONFIG_H + +#include "TObject.h" + +struct BmnTrigChannelConfig : public TObject { + bool after_protect_en; + uint32_t after_protect_time; + bool before_protect_en; + uint32_t before_protect_time; + uint32_t delay; + bool reduction_en; + uint32_t reduction_factor; + + void print() { + printf(" after_prot en %4u\n", after_protect_en); + printf(" after_prot t %4u\n", after_protect_time); + printf("before_prot en %4u\n", before_protect_en); + printf("before_prot t %4u\n", before_protect_time); + printf(" delay en %4u\n", delay); + printf(" reduction en %4u\n", reduction_en); + printf("reduct factor %4u\n", reduction_factor); + } + + ClassDef(BmnTrigChannelConfig, 1) +}; + +#endif /* TRIGCHANNELCONFIG_H */ diff --git a/base/raw/BmnTrigConfig.cxx b/base/raw/BmnTrigConfig.cxx new file mode 100644 index 000000000..cf1ca7282 --- /dev/null +++ b/base/raw/BmnTrigConfig.cxx @@ -0,0 +1,18 @@ +#include "BmnTrigConfig.h" + +BmnTrigConfig::BmnTrigConfig() { +} + +//BmnTrigConfig::BmnTrigConfig(BmnTrigConfig& orig) { +// SetFrom(orig); +//} +// +//void BmnTrigConfig::SetFrom(BmnTrigConfig& orig) { +// calib_count = orig.GetCalibCount(); +// calib_en = orig.GetCalibEn(); +// match_window = orig.GetMatchWindow(); +// trig_channel_config = orig.TrigChannelConfig(); +//} +// +//BmnTrigConfig::~BmnTrigConfig() { +//} diff --git a/base/raw/BmnTrigConfig.h b/base/raw/BmnTrigConfig.h new file mode 100644 index 000000000..43fe23c60 --- /dev/null +++ b/base/raw/BmnTrigConfig.h @@ -0,0 +1,64 @@ +/** + * Class BmnTrigConfig + * Trigger DAQ config + */ + +#ifndef TRIGCONFIG_H +#define TRIGCONFIG_H + +#include <map> +#include <string> + +#include "TNamed.h" + +#include "BmnTrigChannelConfig.h" + +using std::map; +using std::string; + +class BmnTrigConfig : public TNamed { +public: + BmnTrigConfig(); + // BmnTrigConfig(BmnTrigConfig& orig); + // virtual ~BmnTrigConfig(); + // + // void SetFrom(BmnTrigConfig & info); + + map<string, BmnTrigChannelConfig> & TrigChannelConfig() { + return trig_channel_config; + } + + UInt_t GetMatchWindow() { + return match_window; + } + + void SetMatchWindow(UInt_t v) { + match_window = v; + } + + UInt_t GetCalibCount() { + return calib_count; + } + + void SetCalibCount(UInt_t v) { + calib_count = v; + } + + bool GetCalibEn() { + return calib_en; + } + + void SetCalibEn(bool v) { + calib_en = v; + } + +private: + map<string, BmnTrigChannelConfig> trig_channel_config; + UInt_t match_window = 0; + UInt_t calib_count = 0; + bool calib_en = false; + + ClassDef(BmnTrigConfig, 1) +}; + +#endif /* TRIGCONFIG_H */ -- GitLab