CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/L1Trigger/RPCTechnicalTrigger/interface/RPCWheel.h

Go to the documentation of this file.
00001 // $Id: RPCWheel.h,v 1.4 2009/06/17 15:27:24 aosorio Exp $
00002 #ifndef RPCWHEEL_H 
00003 #define RPCWHEEL_H 1
00004 
00005 // Include files
00006 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCEmulator.h"
00007 #include "L1Trigger/RPCTechnicalTrigger/interface/TTUInput.h"
00008 #include "CondFormats/RPCObjects/interface/RBCBoardSpecs.h"
00009 
00010 #include<vector>
00011 #include<map>
00012 
00022 void print_wheel( const TTUInput & );
00023 
00024 class RPCWheel {
00025 public: 
00027   RPCWheel( );
00028 
00029   virtual ~RPCWheel( ); 
00030   
00031   void setProperties( int );
00032   
00033   void setProperties( int , const char * );
00034   
00035   void setProperties( int , const char *, const char * );
00036   
00037   void setSpecifications( const RBCBoardSpecs * );
00038   
00039   bool initialise();
00040   
00041   void emulate();
00042   
00043   bool process( int , const std::map<int,RBCInput*> & );
00044   
00045   bool process( int , const std::map<int,TTUInput*> & );
00046   
00047   void createWheelMap();
00048   
00049   void retrieveWheelMap( TTUInput & );
00050   
00051   int  getid() { return m_id; };
00052   
00053   void printinfo();
00054 
00055   void print_wheel(const TTUInput & );
00056   
00057   std::vector<RBCEmulator*> m_RBCE;
00058   
00059 protected:
00060   
00061 private:
00062   
00063   int m_id;
00064   int m_maxrbc;
00065   int m_maxlayers;
00066   int m_maxsectors;
00067   
00068   std::vector<int> m_sec1id;
00069   std::vector<int> m_sec2id;
00070   
00071   //...
00072 
00073   std::bitset<12>  m_rbcDecision;
00074   std::bitset<6> * m_wheelmap;
00075 
00076   bool m_debug;
00077     
00078 };
00079 
00080 #endif // RPCWHEEL_H