CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/RecoLocalMuon/RPCRecHit/interface/RPCRecHitBaseAlgo.h

Go to the documentation of this file.
00001 #ifndef RecoLocalMuon_RPCRecHitBaseAlgo_H
00002 #define RecoLocalMuon_RPCRecHitBaseAlgo_H
00003 
00014 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00015 #include "DataFormats/GeometrySurface/interface/LocalError.h"
00016 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00017 #include "DataFormats/RPCDigi/interface/RPCDigiCollection.h"
00018 #include "DataFormats/RPCRecHit/interface/RPCRecHit.h"
00019 #include "DataFormats/Common/interface/OwnVector.h"
00020 
00021 #include "RecoLocalMuon/RPCRecHit/src/RPCRollMask.h"
00022 #include "RecoLocalMuon/RPCRecHit/src/RPCMaskReClusterizer.h"
00023 
00024 class RPCCluster;
00025 class RPCRoll;
00026 class RPCDetId;
00027 
00028 namespace edm {
00029   class ParameterSet;
00030   class EventSetup;
00031 }
00032 
00033 
00034 class RPCRecHitBaseAlgo {
00035 
00036  public:
00037   
00039   RPCRecHitBaseAlgo(const edm::ParameterSet& config);
00040 
00042   virtual ~RPCRecHitBaseAlgo();  
00043 
00045   virtual void setES(const edm::EventSetup& setup) = 0;
00046 
00048   virtual edm::OwnVector<RPCRecHit> reconstruct(const RPCRoll& roll,
00049                                                 const RPCDetId& rpcId,
00050                                                 const RPCDigiCollection::Range& digiRange,
00051                                                 const RollMask& mask);
00052 
00054   virtual bool compute(const RPCRoll& roll,
00055                        const RPCCluster& cl,
00056                        LocalPoint& Point,
00057                        LocalError& error) const = 0;
00058 
00059 
00062   virtual bool compute(const RPCRoll& roll,
00063                        const RPCCluster& cl,
00064                        const float& angle,
00065                        const GlobalPoint& globPos, 
00066                        LocalPoint& Point,
00067                        LocalError& error) const = 0;
00068 };
00069 #endif