Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:38

0001 #ifndef INTERFACE_RPCDATA_H
0002 #define INTERFACE_RPCDATA_H 1
0003 
0004 // Include files
0005 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCInput.h"
0006 
0007 #include <cstdlib>
0008 #include <iostream>
0009 #include <fstream>
0010 #include <ios>
0011 #include <cmath>
0012 #include <map>
0013 
0014 /** @class RPCData RPCData.h interface/RPCData.h
0015  *  
0016  *
0017  *  Data structure consisting of wheel + sector + ORs signals
0018  *
0019  *  @author Andres Osorio
0020  *  @date   2008-11-18
0021  */
0022 
0023 namespace l1trigger {
0024   class Counters {
0025   public:
0026     explicit Counters(int);
0027 
0028     void incrementSector(int);
0029 
0030     void printSummary() const;
0031 
0032     void evalCounters();
0033 
0034     int m_wheelid;
0035     int m_nearSide;
0036     int m_farSide;
0037     int m_wheel;
0038     std::map<int, int> m_sector;
0039   };
0040 }  // namespace l1trigger
0041 
0042 class RPCData {
0043 public:
0044   /// Standard constructor
0045   RPCData();
0046   ~RPCData() = default;  ///< Destructor
0047 
0048   int m_wheel;
0049   std::array<int, 6> m_sec1;
0050   std::array<int, 6> m_sec2;
0051   std::array<RBCInput, 6> m_orsignals;
0052 
0053   friend std::istream &operator>>(std::istream &, RPCData &);
0054   friend std::ostream &operator<<(std::ostream &, RPCData const &);
0055 
0056   int wheelIdx() const  //wheel index starts from 0
0057   {
0058     return (m_wheel + 2);
0059   }
0060 
0061 protected:
0062 private:
0063 };
0064 #endif  // INTERFACE_RPCDATA_H