From 0716a1a4f059b3b9a3e21af83b1e31678f9fad69 Mon Sep 17 00:00:00 2001
From: Tamara Vazquez Schroeder <tvazquez@cern.ch>
Date: Thu, 7 Jan 2021 16:20:04 +0100
Subject: [PATCH] adding virtual dummy functions to TrigConfigSvc and
 TrigConfInterfaces

---
 .../TrigConfInterfaces/IIHLTConfigSvc.h       | 10 ++++++++++
 .../TrigConfInterfaces/IILVL1ConfigSvc.h      | 13 ++++++++++++
 .../TrigConfigSvc/src/HLTConfigSvc.h          | 15 ++++++++++++++
 .../TrigConfigSvc/src/LVL1ConfigSvc.h         | 20 +++++++++++++++++++
 4 files changed, 58 insertions(+)

diff --git a/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IIHLTConfigSvc.h b/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IIHLTConfigSvc.h
index 39180fdd760d..cc6c6d31f2b1 100644
--- a/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IIHLTConfigSvc.h
+++ b/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IIHLTConfigSvc.h
@@ -16,8 +16,11 @@ extern "C" {
 namespace TrigConf {
 
    // Forward declaration(s):
+   class EventContext;
    class HLTChainList;
    class HLTSequenceList;
+   class HLTMenu;
+   class HLTPrescalesSet;
 
    /**
     * Interface for all services/tools that provide HLT menu configuration
@@ -48,6 +51,13 @@ namespace TrigConf {
       /**@brief accessor to the configuration hlt prescale key*/
       virtual uint32_t hltPrescaleKey() const = 0;
 
+      /// Returns the JSON configured HLTMenu ptree
+      virtual const HLTMenu& hltMenu(const EventContext& ctx) const = 0;
+
+      /// Returns the JSON configured HLT prescales ptree
+      virtual const HLTPrescalesSet& hltPrescalesSet(const EventContext& ctx) const = 0;
+
+
    }; // class IIHLTConfigSvc
 
 } // namespace TrigConf
diff --git a/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IILVL1ConfigSvc.h b/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IILVL1ConfigSvc.h
index 6c7de76685b4..04c389a5a3a1 100644
--- a/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IILVL1ConfigSvc.h
+++ b/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IILVL1ConfigSvc.h
@@ -18,8 +18,12 @@ namespace TrigConf {
 
    // Forward declaration(s):
    class CTPConfig;
+   class EventContext;
    class ThresholdConfig;
    class BunchGroupSet;
+   class L1Menu;
+   class L1PrescalesSet;
+   class L1BunchGroupSet;
 
    /**
     * Interface for all services/tools that provide LVL1 menu configuration
@@ -46,6 +50,15 @@ namespace TrigConf {
       /**@brief accessor to the configuration lvl1 prescale key*/
       virtual uint32_t lvl1PrescaleKey() const = 0;
 
+      /// Returns the JSON configured L1 ptree
+      virtual const L1Menu& l1Menu(const EventContext& ctx) const = 0;
+
+      /// Returns the JSON configured L1 prescales ptree
+      virtual const L1PrescalesSet& l1PrescalesSet(const EventContext& ctx) const = 0;
+
+      /// Returns the JSON configured bunchgroup ptree
+      virtual const L1BunchGroupSet& l1BunchGroupSet(const EventContext& ctx) const = 0;
+
    }; // class IILVL1ConfigSvc
 
 } // namespace TrigConf
diff --git a/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTConfigSvc.h b/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTConfigSvc.h
index 6b993fa48ca1..9a2d19454c46 100644
--- a/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTConfigSvc.h
+++ b/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTConfigSvc.h
@@ -16,6 +16,9 @@
 #include "TrigConfInterfaces/IHLTConfigSvc.h"
 #include "TrigConfHLTData/HLTFrame.h"
 
+#include "TrigConfData/HLTMenu.h"
+#include "TrigConfData/HLTPrescalesSet.h"
+
 
 class TH1F;
 class TH2I;
@@ -24,8 +27,11 @@ class TrigTimer;
 namespace TrigConf {
 
    class CTPConfig;
+   class EventContext;
    class HLTChainList;
    class HLTSequenceList;
+   class HLTMenu;
+   class HLTPrescalesSet;
    class HLTPrescaleSet;
    class TrigDBConnectionConfig;
 
@@ -45,6 +51,15 @@ namespace TrigConf {
       const HLTSequenceList* sequenceList() const __attribute__ ((deprecated));
       const HLTSequenceList& sequences() const;
       
+      const HLTMenu& hltMenu(const EventContext&) const {
+	const static TrigConf::HLTMenu dummy = TrigConf::HLTMenu();
+	return dummy;
+      }
+      const HLTPrescalesSet& hltPrescalesSet(const EventContext&) const {
+	const static TrigConf::HLTPrescalesSet dummy = TrigConf::HLTPrescalesSet();
+	return dummy;
+      }
+
       /*@brief constructor*/
       HLTConfigSvc( const std::string& name, ISvcLocator* pSvcLocator );
       virtual ~HLTConfigSvc();
diff --git a/Trigger/TrigConfiguration/TrigConfigSvc/src/LVL1ConfigSvc.h b/Trigger/TrigConfiguration/TrigConfigSvc/src/LVL1ConfigSvc.h
index e677cf852f7a..084f6fccf8ac 100644
--- a/Trigger/TrigConfiguration/TrigConfigSvc/src/LVL1ConfigSvc.h
+++ b/Trigger/TrigConfiguration/TrigConfigSvc/src/LVL1ConfigSvc.h
@@ -12,11 +12,19 @@
 #include "TrigConfInterfaces/ILVL1ConfigSvc.h"
 
 #include "TrigConfData/L1Menu.h"
+#include "TrigConfData/L1PrescalesSet.h"
+#include "TrigConfData/L1BunchGroupSet.h"
+
 
 class StoreGateSvc;
 
 namespace TrigConf {
 
+   class EventContext;
+   class L1Menu;
+   class L1PrescalesSet;
+   class L1BunchGroupSet;
+
    /**
     *  $Date: 2009-02-04 09:12:03 $
     *   @short Service providing the LVL1 trigger configuration
@@ -42,6 +50,18 @@ namespace TrigConf {
       const ThresholdConfig* thresholdConfig() const;
       const BunchGroupSet* bunchGroupSet() const;
       uint32_t lvl1PrescaleKey() const { return static_cast<uint32_t>(m_prescaleSetID); }
+      const L1Menu& l1Menu(const EventContext&) const {
+	const static TrigConf::L1Menu dummy = TrigConf::L1Menu();
+	return dummy;
+      }
+      const L1PrescalesSet& l1PrescalesSet(const EventContext&) const {
+	const static TrigConf::L1PrescalesSet dummy = TrigConf::L1PrescalesSet();
+	return dummy;
+      }
+      const L1BunchGroupSet& l1BunchGroupSet(const EventContext&) const {
+	const static TrigConf::L1BunchGroupSet dummy = TrigConf::L1BunchGroupSet();
+	return dummy;
+      }
 
    private:
 
-- 
GitLab