Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 13:30:30

0001 #ifndef L1RCTRegion_h
0002 #define L1RCTRegion_h
0003 
0004 #include <vector>
0005 
0006 class L1RCTRegion {
0007 public:
0008   L1RCTRegion();
0009   ~L1RCTRegion();
0010 
0011   void setEtIn7Bits(int i, int j, unsigned short energy);
0012   unsigned short getEtIn9Bits(int i, int j) const;
0013   void setEtIn9Bits(int i, int j, unsigned short energy);
0014   void setHE_FGBit(int i, int j, unsigned short HE_FG);
0015   unsigned short getMuonBit(int i, int j) const;
0016   void setMuonBit(int i, int j, unsigned short muon);
0017   void setActivityBit(int i, int j, unsigned short activity);
0018   unsigned short getActivityBit(int i, int j) const;
0019 
0020   unsigned short getEtIn7Bits(int i, int j) const;
0021   unsigned short getHE_FGBit(int i, int j) const;
0022 
0023   // diagnostic print functions.
0024   // print prints the data contained in a convenient format
0025   // print edges prints the neighboring edge information
0026   void print();
0027   void printEdges();
0028 
0029   std::vector<unsigned short> giveNorthEt() const;
0030   std::vector<unsigned short> giveSouthEt() const;
0031   std::vector<unsigned short> giveWestEt() const;
0032   std::vector<unsigned short> giveEastEt() const;
0033   std::vector<unsigned short> giveNorthHE_FG() const;
0034   std::vector<unsigned short> giveSouthHE_FG() const;
0035   std::vector<unsigned short> giveWestHE_FG() const;
0036   std::vector<unsigned short> giveEastHE_FG() const;
0037   unsigned short giveSEEt() const;
0038   unsigned short giveSWEt() const;
0039   unsigned short giveNEEt() const;
0040   unsigned short giveNWEt() const;
0041   unsigned short giveSEHE_FG() const;
0042   unsigned short giveSWHE_FG() const;
0043   unsigned short giveNEHE_FG() const;
0044   unsigned short giveNWHE_FG() const;
0045 
0046   void setNorthEt(const std::vector<unsigned short> &north);
0047   void setSouthEt(const std::vector<unsigned short> &south);
0048   void setWestEt(const std::vector<unsigned short> &west);
0049   void setEastEt(const std::vector<unsigned short> &east);
0050   void setNorthHE_FG(const std::vector<unsigned short> &north);
0051   void setSouthHE_FG(const std::vector<unsigned short> &south);
0052   void setWestHE_FG(const std::vector<unsigned short> &west);
0053   void setEastHE_FG(const std::vector<unsigned short> &east);
0054   void setSEEt(unsigned short se);
0055   void setSWEt(unsigned short sw);
0056   void setNEEt(unsigned short ne);
0057   void setNWEt(unsigned short nw);
0058   void setSEHE_FG(unsigned short se);
0059   void setSWHE_FG(unsigned short sw);
0060   void setNEHE_FG(unsigned short ne);
0061   void setNWHE_FG(unsigned short nw);
0062 
0063 private:
0064   // 6x6 matrices
0065   std::vector<unsigned short> totalRegionEt;
0066   std::vector<unsigned short> totalRegionHE_FG;
0067   // 4x4 matrices
0068   std::vector<unsigned short> etIn9Bits;
0069   // std::vector<unsigned short> HE_FGBit;
0070   std::vector<unsigned short> muonBit;
0071   std::vector<unsigned short> activityBit;
0072 };
0073 #endif