Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:37:40

0001 #ifndef CSCSegment_CSCSegmentAlgorithm_h
0002 #define CSCSegment_CSCSegmentAlgorithm_h
0003 
0004 /** \class CSCSegmentAlgo
0005  * An abstract base class for algorithmic classes used to
0006  * build segments in one chamber of an Endcap Muon CSC.
0007  *
0008  * Implementation notes: <BR>
0009  * For example, CSCSegmentizerSK inherits from this class,
0010  * and classes ported from ORCA local reco inherit from that.
0011  *
0012  * \author M. Sani
0013  *
0014  */
0015 
0016 #include <DataFormats/CSCRecHit/interface/CSCRecHit2DCollection.h>
0017 #include <DataFormats/CSCRecHit/interface/CSCSegment.h>
0018 #include <Geometry/CSCGeometry/interface/CSCChamber.h>
0019 
0020 #include <FWCore/Framework/interface/Frameworkfwd.h>
0021 #include <vector>
0022 
0023 class CSCSegmentAlgorithm {
0024 public:
0025   /// Constructor
0026   explicit CSCSegmentAlgorithm(const edm::ParameterSet&) {}
0027   /// Destructor
0028   virtual ~CSCSegmentAlgorithm() {}
0029 
0030   /** Run the algorithm = build the segments in this chamber
0031     */
0032   virtual std::vector<CSCSegment> run(const CSCChamber* chamber, const std::vector<const CSCRecHit2D*>& rechits) = 0;
0033 
0034 private:
0035 };
0036 
0037 #endif