CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/L1Trigger/RPCTrigger/interface/RPCLogCone.h

Go to the documentation of this file.
00001 #ifndef L1Trigger_RPCLogCone_h
00002 #define L1Trigger_RPCLogCone_h
00003 
00013 #include <vector>
00014 #include <string>
00015 #include <set>
00016 #include <map>
00017 
00018 
00019 
00020 #include "L1Trigger/RPCTrigger/interface/RPCLogHit.h"
00021 
00022 #include "L1Trigger/RPCTrigger/interface/RPCConst.h"
00023 //------------------------------------------------------------------------------
00024 
00025 class RPCLogCone {
00026 public:
00027 
00028 
00034   typedef std::map<int, std::vector<int> > TLogPlane;
00035 
00037   RPCLogCone();
00038 
00040   RPCLogCone(int m_tower, int logSector, int logSegment);
00041 
00043   RPCLogCone(const RPCLogHit &logHit);
00044 
00046   RPCLogCone(const unsigned long long &pat, int tower, int logSector, int logSegment);
00047 
00049   unsigned long long getCompressedCone();
00050 
00052   bool addLogHit(const RPCLogHit &logHit);
00053 
00054   TLogPlane getLogPlane(int logPlane) const;
00055 
00057   int getHitsCnt(int logPlane) const;
00058 
00060   void setLogStrip(int logPlane, int logStripNum, int m_digiIdx);
00061   
00063   void setLogStrip(int logPlane, int logStripNum);
00064 
00066   bool getLogStripState(int logPlane, unsigned int logStripNum) const;
00067 
00070   std::vector<int> getLogStripDigisIdxs(int logPlane, unsigned int logStripNum) const;
00071   
00072   void setMuonCode(int code);
00073 
00074   int getMuonCode() const;
00075 
00076   void setMuonSign(int sign);
00077 
00078   int getMuonSign() const;
00079 
00081   void shift(int pos);
00082 
00083   bool isPlaneFired(int logPlane) const;
00084 
00085   int getFiredPlanesCnt() const;
00086 
00088   int possibleTrigger() const;
00089 
00090   int getTower() const;
00091 
00092   int getLogSector() const;
00093 
00094   int getLogSegment() const;
00095 
00096   RPCConst::l1RpcConeCrdnts getConeCrdnts() const;
00097   
00098   void setIdx(int index);
00099   
00100   int getIdx() const;
00101   
00102   std::string toString() const;
00103   
00104 
00105 
00106   
00107 private:
00109   std::vector<TLogPlane> m_LogPlanesVec;
00110 
00114   std::vector<std::vector<int> > m_DigisIdx;
00115 
00116   RPCConst::l1RpcConeCrdnts m_ConeCrdnts;
00117 
00118   int m_MuonCode;
00119 
00120   int m_MuonSign;
00121 
00123   int m_Index; 
00124 };
00125 
00126 typedef std::vector<RPCLogCone> L1RpcLogConesVec;
00127 #endif
00128