CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/L1Trigger/RPCTechnicalTrigger/interface/RBCChamberORLogic.h

Go to the documentation of this file.
00001 // $Id: RBCChamberORLogic.h,v 1.2 2009/06/07 21:18:50 aosorio Exp $
00002 #ifndef RBCCHAMBERORLOGIC_H 
00003 #define RBCCHAMBERORLOGIC_H 1
00004 
00005 // Include files
00006 
00007 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCLogic.h"
00008 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCInput.h"
00009 
00010 #include <iostream>
00011 #include <vector>
00012 #include <map>
00013 
00014 
00028 class RBCChamberORLogic : public RBCLogic {
00029 public: 
00031   RBCChamberORLogic( ); 
00032   
00033   virtual ~RBCChamberORLogic( ); 
00034       
00035   void process ( const RBCInput & , std::bitset<2> & );
00036   
00037   void setBoardSpecs( const RBCBoardSpecs::RBCBoardConfig & );
00038   
00039   std::bitset<6> * getlayersignal(int _idx) { return & m_layersignal[_idx]; };
00040   
00041   typedef std::vector<std::string>::iterator itr2names;
00042   typedef std::map<std::string,bool>::iterator itr2chambers;
00043   
00044   void copymap( const std::bitset<15> & );
00045   
00046   void createmap( const std::bitset<15> & );
00047   
00048   void reset();
00049   
00050   bool evaluateLayerOR( const char *, const char * );
00051   
00052   void setmaxlevel( int _mx ) { m_maxlevel = _mx;};
00053   
00054   std::bitset<6> * m_layersignal;
00055   
00056 protected:
00057   
00058 private:
00059   
00060   std::vector<std::string> m_rbname;
00061   
00062   std::map<std::string, bool> m_chamber;
00063   
00064   int m_maxcb;
00065   
00066   int m_maxlevel;
00067   
00068 };
00069 #endif // RBCCHAMBERORLOGIC_H