diff --git a/include/MModuleDEESMEX.h b/include/MModuleDEESMEX.h index bcd258c2..5792ef84 100644 --- a/include/MModuleDEESMEX.h +++ b/include/MModuleDEESMEX.h @@ -149,15 +149,9 @@ class MModuleDEESMEX : public MModule } //! Set dead time file name - void SetDeadtimeFileName(const MString& FileName) - { - m_StripTrigger.SetDeadtimeFileName(FileName); - } + void SetDeadtimeFileName(const MString& FileName) { m_DeadtimeFileName = FileName; } //! Get dead time file name - MString GetDeadtimeFileName() const - { - return m_StripTrigger.GetDeadtimeFileName(); - } + MString GetDeadtimeFileName() const { return m_DeadtimeFileName; } //! Button to apply the FWHM energy resolution to the energies bool GetApplyResolutionCalibration() const { return m_ApplyResolutionCalibration; } @@ -228,6 +222,9 @@ class MModuleDEESMEX : public MModule //! The file name of the depth-calibration coefficients MString m_DepthCoefficientsFileName; + //! The file name of the dead time parameters + MString m_DeadtimeFileName; + //! Option to add noise to the strip energies bool m_ApplyResolutionCalibration; //! Option to enable shield veto effects diff --git a/src/MModuleDEESMEX.cxx b/src/MModuleDEESMEX.cxx index 2c533039..fa4ae72a 100644 --- a/src/MModuleDEESMEX.cxx +++ b/src/MModuleDEESMEX.cxx @@ -120,6 +120,10 @@ bool MModuleDEESMEX::Initialize() m_ChargeTransport.SetDepthCoefficientsFileName(m_DepthCoefficientsFileName); m_DepthReadout.SetDepthCoefficientsFileName(m_DepthCoefficientsFileName); + // Pass the deadtime file to the SubModules using it + m_StripTrigger.SetDeadtimeFileName(m_DeadtimeFileName); + m_ShieldTrigger.SetDeadtimeFileName(m_DeadtimeFileName); + // Each Initialize() should handle its own error messaging if (m_Intake.Initialize() == false) return false; if (m_RandomCoincidence.Initialize() == false) return false; @@ -297,6 +301,12 @@ bool MModuleDEESMEX::ReadXmlConfiguration(MXmlNode* Node) m_DepthReadout.ReadXmlConfiguration(Node); m_Output.ReadXmlConfiguration(Node); + // Add deadtime parameters file name (used by several submodules) + MXmlNode* DeadtimeFile = Node->GetNode("DeadtimeFileName"); + if (DeadtimeFile != nullptr) { + m_DeadtimeFileName = DeadtimeFile->GetValue(); + } + // Add depth-calibration-related file names (used by several submodules) MXmlNode* DepthSplineFile = Node->GetNode("DepthSplineFileName"); if (DepthSplineFile != nullptr) { @@ -350,6 +360,9 @@ MXmlNode* MModuleDEESMEX::CreateXmlConfiguration() m_StripTrigger.CreateXmlConfiguration(Node); m_DepthReadout.CreateXmlConfiguration(Node); m_Output.CreateXmlConfiguration(Node); + + // Add dead time parameters file names (used by several submodules) + new MXmlNode(Node, "DeadtimeFileName", m_DeadtimeFileName); // Add depth-calibration-related file names (used by several submodules) new MXmlNode(Node, "DepthSplineFileName", m_DepthSplinesFileName); diff --git a/src/MSubModuleShieldTrigger.cxx b/src/MSubModuleShieldTrigger.cxx index f38e79b8..f70baabd 100644 --- a/src/MSubModuleShieldTrigger.cxx +++ b/src/MSubModuleShieldTrigger.cxx @@ -401,11 +401,6 @@ bool MSubModuleShieldTrigger::ReadXmlConfiguration(MXmlNode* Node) { //! Read the configuration data from an XML node - MXmlNode* DeadtimeFileNode = Node->GetNode("DeadtimeFileName"); - if (DeadtimeFileNode != nullptr) { - m_DeadtimeFileName = DeadtimeFileNode->GetValue(); - } - return true; } @@ -417,8 +412,6 @@ MXmlNode* MSubModuleShieldTrigger::CreateXmlConfiguration(MXmlNode* Node) { //! Create an XML node tree from the configuration - new MXmlNode(Node, "DeadtimeFileName", m_DeadtimeFileName); - return Node; } diff --git a/src/MSubModuleStripTrigger.cxx b/src/MSubModuleStripTrigger.cxx index 1d6a7da0..70606be4 100644 --- a/src/MSubModuleStripTrigger.cxx +++ b/src/MSubModuleStripTrigger.cxx @@ -490,11 +490,6 @@ bool MSubModuleStripTrigger::ReadXmlConfiguration(MXmlNode* Node) { //! Read the configuration data from an XML node - MXmlNode* DeadtimeFileNode = Node->GetNode("DeadtimeFileName"); - if (DeadtimeFileNode != nullptr) { - m_DeadtimeFileName = DeadtimeFileNode->GetValue(); - } - return true; } @@ -506,8 +501,6 @@ MXmlNode* MSubModuleStripTrigger::CreateXmlConfiguration(MXmlNode* Node) { //! Create an XML node tree from the configuration - new MXmlNode(Node, "DeadtimeFileName", m_DeadtimeFileName); - return Node; }