CMS 3D CMS Logo

CSCTriggerPrimitivesBuilder.h

Go to the documentation of this file.
00001 #ifndef CSCTriggerPrimitives_CSCTriggerPrimitivesBuilder_h
00002 #define CSCTriggerPrimitives_CSCTriggerPrimitivesBuilder_h
00003 
00019 #include <DataFormats/CSCDigi/interface/CSCComparatorDigiCollection.h>
00020 #include <DataFormats/CSCDigi/interface/CSCWireDigiCollection.h>
00021 #include <DataFormats/CSCDigi/interface/CSCALCTDigiCollection.h>
00022 #include <DataFormats/CSCDigi/interface/CSCCLCTDigiCollection.h>
00023 #include <DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h>
00024 #include <FWCore/ParameterSet/interface/ParameterSet.h>
00025 
00026 class CSCL1TPParameters;
00027 class CSCMotherboard;
00028 class CSCMuonPortCard;
00029 
00030 class CSCTriggerPrimitivesBuilder
00031 {
00032  public:
00033 
00038   explicit CSCTriggerPrimitivesBuilder(const edm::ParameterSet&);
00039 
00040   ~CSCTriggerPrimitivesBuilder();
00041 
00043   void setConfigParameters(const CSCL1TPParameters* conf);
00044 
00048   void build(const CSCWireDigiCollection* wiredc,
00049              const CSCComparatorDigiCollection* compdc,
00050              CSCALCTDigiCollection& oc_alct, CSCCLCTDigiCollection& oc_clct,
00051              CSCCorrelatedLCTDigiCollection& oc_lct,
00052              CSCCorrelatedLCTDigiCollection& oc_sorted_lct);
00053 
00056   enum trig_cscs {MAX_ENDCAPS = 2, MAX_STATIONS = 4, MAX_SECTORS = 6,
00057                   MAX_SUBSECTORS = 2, MAX_CHAMBERS = 9};
00058  private:
00059 
00062   static const int min_endcap;    // endcaps
00063   static const int max_endcap;
00064   static const int min_station;   // stations per endcap
00065   static const int max_station;
00066   static const int min_sector;    // trigger sectors per station
00067   static const int max_sector;
00068   static const int min_subsector; // trigger subsectors per sector
00069   static const int max_subsector;
00070   static const int min_chamber;   // chambers per trigger subsector
00071   static const int max_chamber;
00072 
00073   int m_minBX, m_maxBX; // min and max BX to sort.
00074 
00076   CSCMotherboard*
00077     tmb_[MAX_ENDCAPS][MAX_STATIONS][MAX_SECTORS][MAX_SUBSECTORS][MAX_CHAMBERS];
00078 
00080   CSCMuonPortCard* m_muonportcard;
00081 };
00082 
00083 #endif

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