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