Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:19:23

0001 #ifndef GEMRecHit_GEMCSCSegmentAlgorithm_h
0002 #define GEMRecHit_GEMCSCSegmentAlgorithm_h
0003 
0004 /** \class GEMCSCSegmentAlgo
0005  *
0006  * An abstract base class for algorithmic classes used to 
0007  * build segments combining CSC and GEM information.
0008  *
0009  * $Date:  $
0010  * $Revision: 1.7 $
0011  * \author Raffaella Radogna
0012  *
0013  */
0014 
0015 #include <DataFormats/CSCRecHit/interface/CSCRecHit2DCollection.h>
0016 #include <DataFormats/CSCRecHit/interface/CSCSegment.h>
0017 #include <Geometry/CSCGeometry/interface/CSCChamber.h>
0018 
0019 #include <DataFormats/GEMRecHit/interface/GEMRecHitCollection.h>
0020 #include <DataFormats/GEMRecHit/interface/GEMCSCSegment.h>
0021 #include <Geometry/GEMGeometry/interface/GEMEtaPartition.h>
0022 
0023 #include <FWCore/Framework/interface/Frameworkfwd.h>
0024 #include <vector>
0025 #include <map>
0026 
0027 class GEMCSCSegmentAlgorithm {
0028 public:
0029   /// Constructor
0030   explicit GEMCSCSegmentAlgorithm(const edm::ParameterSet&){};
0031   /// Destructor
0032   virtual ~GEMCSCSegmentAlgorithm(){};
0033   /// Run the algorithm = build segments
0034   virtual std::vector<GEMCSCSegment> run(const std::map<uint32_t, const CSCLayer*>& csclayermap,
0035                                          const std::map<uint32_t, const GEMEtaPartition*>& gemrollmap,
0036                                          const std::vector<const CSCSegment*>& cscsegments,
0037                                          const std::vector<const GEMRecHit*>& gemrechits) = 0;
0038 
0039 private:
0040 };
0041 
0042 #endif