00001 #ifndef CSCSegment_CSCSegmentBuilder_h 00002 #define CSCSegment_CSCSegmentBuilder_h 00003 00019 #include <DataFormats/CSCRecHit/interface/CSCRecHit2DCollection.h> 00020 #include <DataFormats/CSCRecHit/interface/CSCSegmentCollection.h> 00021 00022 #include <FWCore/ParameterSet/interface/ParameterSet.h> 00023 00024 class CSCGeometry; 00025 class CSCSegmentAlgorithm; 00026 00027 class CSCSegmentBuilder { 00028 public: 00029 00034 explicit CSCSegmentBuilder(const edm::ParameterSet&); 00036 ~CSCSegmentBuilder(); 00037 00041 void build(const CSCRecHit2DCollection* rechits, CSCSegmentCollection& oc); 00042 00045 void setGeometry(const CSCGeometry* geom); 00046 00047 private: 00048 00049 const CSCGeometry* geom_; 00050 std::map<std::string, CSCSegmentAlgorithm*> algoMap; 00051 }; 00052 00053 #endif