CMS 3D CMS Logo

CSCMotherboard.h

Go to the documentation of this file.
00001 #ifndef CSCTriggerPrimitives_CSCMotherboard_h
00002 #define CSCTriggerPrimitives_CSCMotherboard_h
00003 
00039 #include <L1Trigger/CSCTriggerPrimitives/src/CSCAnodeLCTProcessor.h>
00040 #include <L1Trigger/CSCTriggerPrimitives/src/CSCCathodeLCTProcessor.h>
00041 #include <DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigi.h>
00042 
00043 class CSCMotherboard
00044 {
00045  public:
00047   CSCMotherboard(unsigned endcap, unsigned station, unsigned sector, 
00048                  unsigned subsector, unsigned chamber,
00049                  const edm::ParameterSet& conf);
00050 
00052   CSCMotherboard();
00053 
00055   ~CSCMotherboard();
00056 
00058   void run(std::vector<int> time1[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_WIRES],
00059            int time2[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_STRIPS],
00060            int triad[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_STRIPS]);
00061 
00064   std::vector<CSCCorrelatedLCTDigi> run(const CSCWireDigiCollection* wiredc,
00065                                     const CSCComparatorDigiCollection* compdc);
00066 
00068   std::vector<CSCCorrelatedLCTDigi> getLCTs();
00069 
00072   void clear();
00073 
00075   void setConfigParameters(const CSCL1TPParameters* conf);
00076 
00078   CSCAnodeLCTProcessor* alct;
00079 
00081   CSCCathodeLCTProcessor* clct;
00082 
00083  private:
00086   int infoV;
00087 
00089   const unsigned theEndcap;
00090   const unsigned theStation;
00091   const unsigned theSector;
00092   const unsigned theSubsector;
00093   const unsigned theTrigChamber;
00094 
00096   bool isMTCC;
00097 
00099   bool isTMB07;
00100 
00102   CSCCorrelatedLCTDigi firstLCT;
00103 
00105   CSCCorrelatedLCTDigi secondLCT;
00106 
00107   void correlateLCTs(CSCALCTDigi bestALCT, CSCALCTDigi secondALCT,
00108                      CSCCLCTDigi bestCLCT, CSCCLCTDigi secondCLCT);
00109   CSCCorrelatedLCTDigi constructLCTs(const CSCALCTDigi& aLCT,
00110                                      const CSCCLCTDigi& cLCT);
00111   unsigned int encodePattern(const int ptn, const int highPt);
00112   unsigned int findQuality(const CSCALCTDigi& aLCT, const CSCCLCTDigi& cLCT);
00113 
00114   // Obsolete methods
00115   int findSTA(const bool, const bool, const bool, const bool);
00116   int findBxnMatch(const int aBxn, const int cBxn);
00117 
00118   // Method for tests
00119   void testLCT();
00120 };
00121 #endif

Generated on Tue Jun 9 17:39:59 2009 for CMSSW by  doxygen 1.5.4