CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/L1Trigger/RegionalCaloTrigger/interface/L1RCTRegion.h

Go to the documentation of this file.
00001 #ifndef L1RCTRegion_h
00002 #define L1RCTRegion_h
00003 
00004 #include <vector>
00005 
00006 class L1RCTRegion {
00007 
00008  public:
00009 
00010   L1RCTRegion();
00011   ~L1RCTRegion();
00012  
00013   void setEtIn7Bits(int i, int j,unsigned short energy);
00014   unsigned short getEtIn9Bits(int i, int j) const;
00015   void setEtIn9Bits(int i, int j,unsigned short energy);
00016   void setHE_FGBit(int i, int j,unsigned short HE_FG);
00017   unsigned short getMuonBit(int i, int j) const;
00018   void setMuonBit(int i, int j, unsigned short muon);
00019   void setActivityBit(int i, int j, unsigned short activity);
00020   unsigned short getActivityBit(int i, int j) const;
00021 
00022   unsigned short getEtIn7Bits(int i, int j) const;
00023   unsigned short getHE_FGBit(int i, int j) const;
00024   
00025   //diagnostic print functions.
00026   //print prints the data contained in a convenient format
00027   //print edges prints the neighboring edge information
00028   void print();
00029   void printEdges();
00030 
00031   std::vector<unsigned short> giveNorthEt() const;
00032   std::vector<unsigned short> giveSouthEt() const;
00033   std::vector<unsigned short> giveWestEt() const;
00034   std::vector<unsigned short> giveEastEt() const;
00035   std::vector<unsigned short> giveNorthHE_FG() const;
00036   std::vector<unsigned short> giveSouthHE_FG() const;
00037   std::vector<unsigned short> giveWestHE_FG() const;
00038   std::vector<unsigned short> giveEastHE_FG() const;
00039   unsigned short giveSEEt() const;
00040   unsigned short giveSWEt() const;
00041   unsigned short giveNEEt() const;
00042   unsigned short giveNWEt() const;
00043   unsigned short giveSEHE_FG() const;
00044   unsigned short giveSWHE_FG() const;
00045   unsigned short giveNEHE_FG() const;
00046   unsigned short giveNWHE_FG() const;
00047   
00048   void setNorthEt(std::vector<unsigned short> north);
00049   void setSouthEt(std::vector<unsigned short> south);
00050   void setWestEt(std::vector<unsigned short> west);
00051   void setEastEt(std::vector<unsigned short> east);
00052   void setNorthHE_FG(std::vector<unsigned short> north);
00053   void setSouthHE_FG(std::vector<unsigned short> south);
00054   void setWestHE_FG(std::vector<unsigned short> west);
00055   void setEastHE_FG(std::vector<unsigned short> east);
00056   void setSEEt(unsigned short se);
00057   void setSWEt(unsigned short sw);
00058   void setNEEt(unsigned short ne);
00059   void setNWEt(unsigned short nw);
00060   void setSEHE_FG(unsigned short se);
00061   void setSWHE_FG(unsigned short sw);
00062   void setNEHE_FG(unsigned short ne);
00063   void setNWHE_FG(unsigned short nw);
00064   
00065  private:
00066   
00067   //6x6 matrices
00068   std::vector<unsigned short> totalRegionEt;
00069   std::vector<unsigned short> totalRegionHE_FG;
00070   //4x4 matrices
00071   std::vector<unsigned short> etIn9Bits;
00072   //std::vector<unsigned short> HE_FGBit;
00073   std::vector<unsigned short> muonBit;
00074   std::vector<unsigned short> activityBit;
00075 
00076 };
00077 #endif