CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/L1Trigger/RPCTrigger/interface/RPCPacData.h

Go to the documentation of this file.
00001 #ifndef L1Trigger_RPCPacData_h
00002 #define L1Trigger_RPCPacData_h
00003 /*
00004 todo
00005 sprawdzic konwencje znaku mionu !!!!! (takze w L1RpcMuon0)
00006 */
00007 
00017 #include <vector>
00018 #include <string>
00019 #include <bitset>
00020 #include <map>
00021 #include <list>
00022 #include <iostream>
00023 #include "CondFormats/L1TObjects/interface/RPCPattern.h"
00024 //#include "L1Trigger/RPCTrigger/interface/RPCPacBase.h"
00025 #include "L1Trigger/RPCTrigger/interface/RPCPatternsParser.h"
00026 #include "L1Trigger/RPCTrigger/interface/TPatternsGroup.h"
00027 #include "L1Trigger/RPCTrigger/interface/TEPatternsGroup.h"
00028 #include "L1Trigger/RPCTrigger/interface/TTPatternsGroup.h"
00029 #include "CondFormats/L1TObjects/interface/L1RPCConfig.h"
00030 //------------------------------------------------------------------------------
00031 
00032 //class RPCPacData: public RPCPacBase {
00033 class RPCPacData {
00034    friend class RPCPac;
00035 
00036 public:
00037   
00038   RPCPacData(std::string patFilesDir, int m_tower, int logSector, int logSegment);
00039    
00040   RPCPacData(const RPCPattern::RPCPatVec &patVec, const RPCPattern::TQualityVec &qualVec);
00041 
00042   RPCPacData(const L1RPCConfig * patConf, const int tower, const int sector, const int segment);
00043   
00044   void init(const RPCPatternsParser& parser, const RPCConst::l1RpcConeCrdnts& coneCrdnts);
00045 
00046   /*RPCPacMuon run(const RPCLogCone& cone) const;*/
00047 
00048   bool getEPatternsGroupShape(int groupNum, int logPlane, int logStripNum);
00049 
00050   bool getTPatternsGroupShape(int logPlane, int logStripNum);
00051 
00052   int getPatternsCount();
00053 
00054   RPCPattern getPattern(int patNum) const;
00055 
00056   int getPatternsGroupCount();
00057 
00058   std::string getPatternsGroupDescription(int patternGroupNum);
00059 
00060 private:
00061 //---------------------needed types------------
00062   //----------------------------------------------------------------------------
00063   //----------------------------------------------------------------------------
00064   typedef std::list<TEPatternsGroup> TEPatternsGroupList;
00065 private:
00066   //Pac parametrs
00067   short m_RefGroupCount; 
00068 
00069   short m_MaxQuality;
00070 
00074   RPCPattern::RPCPatVec m_PatternsVec;
00075   
00084   RPCConst::TQualityTabsVec m_QualityTabsVec;
00085 
00088   TEPatternsGroupList m_EnergeticPatternsGroupList;
00089 
00091   TTPatternsGroup m_TrackPatternsGroup;
00092 
00093 private:
00100   void insertQualityRecord(unsigned int qualityTabNumber,
00101                                 unsigned short firedPlanes, short quality);
00102 
00106   void insertPatterns(const RPCPattern::RPCPatVec &pattern, const int tower = 99, const int sector = 99, const int segment = 99 );
00107 
00113   /*RPCPacMuon runTrackPatternsGroup(const RPCLogCone& cone) const;*/
00114 
00121   /*RPCPacMuon runEnergeticPatternsGroups(const RPCLogCone& cone) const;*/
00122 };
00123 #endif