Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 13:30:35

0001 #ifndef L1Trigger_RPCTriggerConfiguration_h
0002 #define L1Trigger_RPCTriggerConfiguration_h
0003 
0004 /** \class RPCTriggerConfiguration
0005   * Interface for classes storing the configuration of hardware in m_PAC trigger system.
0006   * \author Karol Bunkowski (Warsaw)
0007   */
0008 
0009 #include "L1Trigger/RPCTrigger/interface/RPCPacData.h"
0010 
0011 //interface class for storing the geometry of trigger
0012 //f.e. which pac, or TB or TC should run given LogCone
0013 class RPCTriggerConfiguration {
0014 public:
0015   virtual ~RPCTriggerConfiguration() = default;
0016   ///returns count of Trigger Crates in system.
0017   virtual int getTCsCnt() = 0;
0018 
0019   ///returns number og Trigger Boards in one Trigger Crate.
0020   virtual int getTBsInTC() = 0;
0021 
0022   /** Returns the index of m_tower on TB.*/
0023   virtual int getTowerNumOnTb(const RPCConst::l1RpcConeCrdnts& coneCrdnts) = 0;
0024 
0025   ///Returns pointer to m_PAC that should run given LogCone.
0026   virtual const RPCPacData* getPac(const RPCConst::l1RpcConeCrdnts& coneCrdnts) const = 0;
0027 
0028   ///Returns the index of TC that should run given LogCone.
0029   virtual int getTCNum(const RPCConst::l1RpcConeCrdnts& coneCrdnts) = 0;
0030 
0031   ///Returns the index of TB (in TC) that should run given LogCone.
0032   virtual int getTBNum(const RPCConst::l1RpcConeCrdnts& coneCrdnts) = 0;
0033 
0034   ///Returns the count of Towers, that are covered by given TB .
0035   virtual int getTowsCntOnTB(int tbNum) = 0;
0036 
0037   virtual int towAddr2TowNum(int towAddr) = 0;
0038 
0039   virtual int towNum2TowNum2Comp(int towNum) = 0;
0040 
0041   int getDebugLevel() const { return m_DebugLevel; }
0042 
0043   void setDebugLevel(int debgLevel) { m_DebugLevel = debgLevel; }
0044 
0045 private:
0046   int m_DebugLevel;
0047 };
0048 #endif