File indexing completed on 2023-03-17 11:19:26
0001 #ifndef GEMRecHit_GEMSegmentBuilder_h
0002 #define GEMRecHit_GEMSegmentBuilder_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "DataFormats/GEMRecHit/interface/GEMRecHitCollection.h"
0017 #include "DataFormats/GEMRecHit/interface/GEMSegmentCollection.h"
0018 #include "Geometry/GEMGeometry/interface/GEMGeometry.h"
0019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0020
0021 class GEMSegmentAlgorithmBase;
0022
0023 class GEMSegmentBuilder {
0024 public:
0025
0026
0027
0028
0029 explicit GEMSegmentBuilder(const edm::ParameterSet&);
0030
0031 ~GEMSegmentBuilder();
0032
0033
0034
0035
0036 void build(const GEMRecHitCollection* rechits, GEMSegmentCollection& oc);
0037
0038
0039
0040 void setGeometry(const GEMGeometry* g);
0041
0042 private:
0043 std::string segAlgoName;
0044 std::string ge0AlgoName;
0045 edm::ParameterSet segAlgoPSet;
0046 edm::ParameterSet ge0AlgoPSet;
0047 std::unique_ptr<GEMSegmentAlgorithmBase> segAlgo;
0048 std::unique_ptr<GEMSegmentAlgorithmBase> ge0Algo;
0049 const GEMGeometry* geom_;
0050 };
0051
0052 #endif