00001 // $Id: RPCData.h,v 1.3 2009/10/26 12:52:15 aosorio Exp $ 00002 #ifndef INTERFACE_RPCDATA_H 00003 #define INTERFACE_RPCDATA_H 1 00004 00005 // Include files 00006 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCInput.h" 00007 00008 #include <stdlib.h> 00009 #include <iostream> 00010 #include <fstream> 00011 #include <ios> 00012 #include <cmath> 00013 #include <map> 00014 00024 class Counters { 00025 public: 00026 00027 Counters() {}; 00028 Counters( int ); 00029 00030 virtual ~Counters(); 00031 00032 void incrementSector( int ); 00033 00034 void printSummary(); 00035 00036 void evalCounters(); 00037 00038 int m_wheelid; 00039 int m_nearSide; 00040 int m_farSide; 00041 int m_wheel; 00042 std::map<int,int> m_sector; 00043 00044 }; 00045 00046 class RPCData { 00047 public: 00049 RPCData( ); 00050 virtual ~RPCData( ); 00051 00052 int m_wheel; 00053 int * m_sec1; 00054 int * m_sec2; 00055 RBCInput * m_orsignals; 00056 00057 friend std::istream& operator>>(std::istream &, RPCData &); 00058 friend std::ostream& operator<<(std::ostream &, RPCData &); 00059 00060 int wheelIdx() //wheel index starts from 0 00061 { 00062 return (m_wheel + 2); 00063 } 00064 00065 protected: 00066 00067 private: 00068 00069 }; 00070 #endif // INTERFACE_RPCDATA_H