Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:12

0001 #ifndef RecoLocalMuon_ME0RecHitBaseAlgo_H
0002 #define RecoLocalMuon_ME0RecHitBaseAlgo_H
0003 
0004 /** \class ME0RecHitBaseAlgo
0005  *  Abstract algorithmic class to compute Rec Hit
0006  *  form a ME0 digi
0007  *
0008  *  $Date: 2014/02/04 10:16:32 $
0009  *  $Revision: 1.1 $
0010  *  \author M. Maggi -- INFN Bari
0011  */
0012 
0013 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
0014 #include "DataFormats/GeometrySurface/interface/LocalError.h"
0015 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0016 #include "DataFormats/GEMDigi/interface/ME0DigiPreRecoCollection.h"
0017 #include "DataFormats/GEMRecHit/interface/ME0RecHit.h"
0018 #include "DataFormats/Common/interface/OwnVector.h"
0019 
0020 class ME0DetId;
0021 
0022 namespace edm {
0023   class ParameterSet;
0024   class EventSetup;
0025 }  // namespace edm
0026 
0027 class ME0RecHitBaseAlgo {
0028 public:
0029   /// Constructor
0030   ME0RecHitBaseAlgo(const edm::ParameterSet& config);
0031 
0032   /// Destructor
0033   virtual ~ME0RecHitBaseAlgo();
0034 
0035   /// Pass the Event Setup to the algo at each event
0036   virtual void setES(const edm::EventSetup& setup) = 0;
0037 
0038   /// Build all hits in the range associated to the me0Id, at the 1st step.
0039   virtual edm::OwnVector<ME0RecHit> reconstruct(const ME0DetId& me0Id,
0040                                                 const ME0DigiPreRecoCollection::Range& digiRange);
0041 
0042   /// standard local recHit computation
0043   virtual bool compute(const ME0DigiPreReco& digi, LocalPoint& Point, LocalError& error) const = 0;
0044 };
0045 #endif