CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/L1Trigger/RPCTechnicalTrigger/interface/RBCLogicUnit.h

Go to the documentation of this file.
00001 // $Id: RBCLogicUnit.h,v 1.4 2009/06/07 21:18:50 aosorio Exp $
00002 #ifndef RBCLOGICUNIT_H 
00003 #define RBCLOGICUNIT_H 1
00004 
00005 // Include files
00006 #include "L1Trigger/RPCTechnicalTrigger/interface/LogicTool.h"
00007 #include "L1Trigger/RPCTechnicalTrigger/interface/RPCLogicUnit.h"
00008 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCLogic.h"
00009 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCInput.h"
00010 
00011 #include <bitset>
00012 
00020 class RBCLogicUnit : public RPCLogicUnit {
00021 public: 
00023   RBCLogicUnit( );
00024   
00025   RBCLogicUnit( const char * );
00026   
00027   virtual ~RBCLogicUnit( ); 
00028   
00029   bool initialise();
00030   
00031   void setlogic( const char * );
00032 
00033   void setBoardSpecs( const RBCBoardSpecs::RBCBoardConfig & );
00034   
00035   void run( const RBCInput & , std::bitset<2> & );
00036   
00037   std::bitset<6> * getlayersignal(int _idx) { return m_layersignal[_idx]; };
00038 
00039   bool isTriggered() {
00040     return m_logic->m_triggersignal;
00041   };
00042 
00043 protected:
00044   
00045 private:
00046 
00047   std::string m_logtype;
00048   
00049   std::bitset<6> * m_layersignal[2];
00050 
00051   RBCLogic            * m_logic;
00052   
00053   LogicTool<RBCLogic> * m_logtool;
00054 
00055   bool m_debug;
00056     
00057 };
00058 #endif // RBCLOGICUNIT_H