00001 #ifndef RecoMuon_MuonSeedGenerator_RPCSeedrecHitFinder_H 00002 #define RecoMuon_MuonSeedGenerator_RPCSeedrecHitFinder_H 00003 00012 #include "RecoMuon/MuonSeedGenerator/src/RPCSeedFinder.h" 00013 #include <RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHit.h> 00014 #include <FWCore/ParameterSet/interface/ParameterSet.h> 00015 00016 00017 #ifndef RPCLayerNumber 00018 #define RPCLayerNumber 12 00019 #endif 00020 00021 #ifndef BarrelLayerNumber 00022 #define BarrelLayerNumber 6 00023 #endif 00024 00025 #ifndef EachEndcapLayerNumber 00026 #define EachEndcapLayerNumber 3 00027 #endif 00028 00029 class RPCSeedrecHitFinder { 00030 00031 typedef MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer; 00032 typedef MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer; 00033 typedef MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer; 00034 typedef MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer; 00035 00036 public: 00037 RPCSeedrecHitFinder(); 00038 ~RPCSeedrecHitFinder(); 00039 void configure(const edm::ParameterSet& iConfig); 00040 void setInput(MuonRecHitContainer (&recHits)[RPCLayerNumber]); 00041 void unsetInput(); 00042 void setOutput(RPCSeedFinder *Seed); 00043 void setLayers(const std::vector<unsigned int>& Layers); 00044 void fillrecHits(); 00045 private: 00046 void complete(unsigned int LayerIndex); 00047 double getdeltaPhifromrecHits(); 00048 void checkandfill(); 00049 00050 // ----------member data --------------------------- 00051 00052 // parameters for configuration 00053 unsigned int BxRange; 00054 double MaxDeltaPhi; 00055 std::vector<int> ClusterSet; 00056 // Signal for call fillrecHits() 00057 bool isLayerset; 00058 bool isConfigured; 00059 bool isInputset; 00060 bool isOutputset; 00061 // Enable layers in Barrel and Endcap 00062 std::vector<unsigned int> LayersinRPC; 00063 MuonRecHitContainer* recHitsRPC[RPCLayerNumber]; 00064 ConstMuonRecHitContainer therecHits; 00065 RPCSeedFinder *theSeed; 00066 }; 00067 00068 #endif