![]() |
![]() |
00001 #ifndef CSCRecHitD_CSCRecHitDBuilder_h 00002 #define CSCRecHitD_CSCRecHitDBuilder_h 00003 00004 00025 #include <DataFormats/CSCRecHit/interface/CSCRecHit2DCollection.h> 00026 #include <DataFormats/CSCDigi/interface/CSCStripDigiCollection.h> 00027 #include <DataFormats/CSCDigi/interface/CSCWireDigiCollection.h> 00028 00029 #include <FWCore/ParameterSet/interface/ParameterSet.h> 00030 00031 class CSCLayer; 00032 class CSCGeometry; 00033 class CSCDetId; 00034 class CSCHitFromStripOnly; 00035 class CSCHitFromWireOnly; 00036 class CSCWireSegments; 00037 class CSCStripSegments; 00038 class CSCMake2DRecHit; 00039 class CSCRecoConditions; 00040 00041 class CSCRecHitDBuilder 00042 { 00043 public: 00044 00049 explicit CSCRecHitDBuilder( const edm::ParameterSet& ps); 00050 00051 ~CSCRecHitDBuilder(); 00052 00061 void build( const CSCStripDigiCollection* stripds, const CSCWireDigiCollection* wireds, 00062 CSCRecHit2DCollection& oc ); 00063 00067 void setGeometry ( const CSCGeometry* geom ) {geom_ = geom;} 00068 00072 void setConditions ( const CSCRecoConditions* reco ); 00073 00074 const CSCLayer* getLayer( const CSCDetId& detId ); 00075 00076 00077 private: 00078 00079 //bool isData; 00080 bool useCalib; 00081 int stripWireDeltaT; 00082 bool makePseudo2DHits; 00083 00089 CSCHitFromStripOnly* hitsFromStripOnly_; 00090 CSCHitFromWireOnly* hitsFromWireOnly_; 00091 //CSCWireSegments* hitsFromWireSegments_; 00092 //CSCStripSegments* hitsFromStripSegments_; 00093 CSCMake2DRecHit* make2DHits_; 00094 00095 /* 00096 * Cache geometry for current event 00097 */ 00098 const CSCGeometry* geom_; 00099 }; 00100 00101 #endif